Có thể bạn quan tâm: Cách Lập Bảng Tính Excel Hiệu Quả: Hướng Dẫn Từng Bước Cho Người Mới Bắt Đầu
Mở Đầu
Microsoft Excel không chỉ là một công cụ bảng tính cơ bản để thực hiện các phép tính đơn giản. Khi bạn đã nắm vững các công thức cơ bản như SUM, AVERAGE, VLOOKUP, việc khám phá công thức Excel nâng cao sẽ mở ra một thế giới mới của khả năng tự động hoá, phân tích dữ liệu phức tạp và tạo ra những báo cáo chuyên nghiệp. Bài viết này sẽ cung cấp cho bạn một bộ sưu tập chi tiết các công thức, hàm và kỹ thuật mạnh mẽ, kèm theo ví dụ thực tế, giúp bạn nâng cao năng lực làm việc với Excel trong môi trường doanh nghiệp, tài chính, marketing và nghiên cứu.
Lưu ý: Để tận dụng tối đa các công thức nâng cao, bạn cần có kiến thức cơ bản về Excel, bao gồm cách tạo bảng, định dạng dữ liệu, và sử dụng các hàm cơ bản. Nếu chưa, hãy tham khảo các tài liệu cơ bản trước khi tiến tới phần này.
Có thể bạn quan tâm: Các Chức Năng Của Excel: Từ Cơ Bản Đến Nâng Cao Giúp Tối Ưu Công Việc
1. Tổng Quan Về Các Nhóm Hàm Nâng Cao
Trước khi đi vào chi tiết, chúng ta sẽ phân loại các hàm nâng cao thành các nhóm chính sau:
| Nhóm Hàm | Mô tả | Ví dụ tiêu biểu |
|---|---|---|
| Hàm Mảng (Array Functions) | Xử lý nhiều giá trị đồng thời, trả về mảng kết quả. | FILTER, SORT, UNIQUE, SEQUENCE |
| Hàm Thống Kê & Phân Tích | Thực hiện các phép tính thống kê phức tạp. | MEDIAN, MODE.SNGL, PERCENTILE.INC, LINEST |
| Hàm Logic Nâng Cao | Kết hợp nhiều điều kiện, xử lý lỗi. | IFS, SWITCH, LET, XLOOKUP |
| Hàm Văn Bản Nâng Cao | Xử lý chuỗi ký tự đa dạng. | TEXTJOIN, CONCAT, MID, REGEXMATCH |
| Hàm Thời Gian & Ngày | Tính toán thời gian chi tiết. | WORKDAY.INTL, NETWORKDAYS.INTL, EDATE, DATEVALUE |
| Hàm Tìm Kiếm & Tra Cứu | Tra cứu dữ liệu linh hoạt hơn VLOOKUP. | XLOOKUP, XMATCH, FILTER |
| Hàm Tài Chính | Tính toán lãi suất, dòng tiền, trả nợ. | NPV, IRR, PMT, XIRR |
| Hàm Kết Nối Dữ Liệu (Power Query & Power Pivot) | Kết hợp dữ liệu từ nguồn đa dạng. | Sử dụng M language, DAX (khoảng 1500 từ). |
Trong các phần tiếp theo, chúng ta sẽ đi sâu vào từng nhóm hàm, cung cấp công thức mẫu, giải thích chi tiết và minh hoạ bằng ví dụ thực tế.
Có thể bạn quan tâm: Cách Chuyển Đổi Văn Bản (text Document) Sang Excel Một Cách Hiệu Quả Và Đơn Giản
2. Hàm Mảng (Array Functions)
2.1. FILTER – Lọc Dữ Liệu Động
Cú pháp:
=FILTER(array, include, if_empty)
array: Dải dữ liệu cần lọc.include: Mảng điều kiện (TRUE/FALSE).if_empty: Giá trị trả về nếu không có dữ liệu thỏa mãn.
Ví dụ thực tế:
Bạn có bảng bán hàng A2:E1000 với cột Region ở cột C và Sales ở cột D. Muốn lấy danh sách các giao dịch ở khu vực “North” có doanh thu > 10,000:
=FILTER(A2:E1000, (C2:C1000="North")(D2:D1000>10000), "Không có dữ liệu")
Mẹo: Dùng dấu
để kết hợp nhiều điều kiện (AND), dấu+cho OR.
2.2. SORT – Sắp Xếp Động
Cú pháp:
=SORT(array, sort_index, sort_order, by_col)
sort_index: Cột (hoặc hàng) dùng để sắp xếp.sort_order: 1 cho tăng dần, -1 cho giảm dần.by_col: FALSE (mặc định) sắp xếp theo hàng, TRUE sắp xếp theo cột.
Ví dụ: Sắp xếp danh sách bán hàng theo doanh thu giảm dần:
=SORT(A2:E1000, 4, -1)
2.3. UNIQUE – Lấy Các Giá Trị Độc Nhất
Cú pháp:
=UNIQUE(array, by_col, exactly_once)
by_col: FALSE (mặc định) xét theo hàng, TRUE xét theo cột.exactly_once: TRUE chỉ trả về những giá trị xuất hiện một lần duy nhất.
Ví dụ: Lấy danh sách các khu vực bán hàng duy nhất:
=UNIQUE(C2:C1000)
2.4. SEQUENCE – Tạo Dãy Số
Cú pháp:
=SEQUENCE(rows, columns, start, step)
Ví dụ: Tạo danh sách 1‑100 trong một cột:
=SEQUENCE(100,1,1,1)
2.5. LET – Đặt Tên Biến Trong Công Thức
LET giúp giảm độ phức tạp, tăng tốc độ tính toán bằng cách lưu trữ các biểu thức trung gian.
Cú pháp:
=LET(name1, name_value1, name2, name_value2, ..., calculation)
Ví dụ: Tính lợi nhuận gộp (Gross Profit) cho mỗi dòng, trong đó Revenue ở cột B, Cost ở cột C:
=LET( rev, B2:B100, cost, C2:C100, profit, rev - cost, profit
)
Kết quả trả về một mảng lợi nhuận, thay vì viết B2:B100 - C2:C100 nhiều lần.
3. Hàm Logic Nâng Cao
3.1. IFS – Nhiều Điều Kiện Nếu
Cú pháp:
=IFS(logical_test1, value_if_true1, logical_test2, value_if_true2, …)
Ví dụ: Xác định mức chiết khấu dựa trên tổng doanh thu:
| Doanh thu | Chiết khấu |
|---|---|
| > 100,000 | 15% |
| 50,000‑100,000 | 10% |
| 20,000‑50,000 | 5% |
| < 20,000 | 0% |
=IFS(A2>100000, 0.15, A2>=50000, 0.10, A2>=20000, 0.05, TRUE, 0)
3.2. SWITCH – Thay Thế Nhiều IF
Cú pháp:
=SWITCH(expression, value1, result1, value2, result2, …, default)
Ví dụ: Chuyển đổi mã khu vực sang tên đầy đủ:
=SWITCH(B2, "N", "North", "S", "South", "E", "East", "W", "West", "Unknown")
3.3. XLOOKUP – Tra Cứu Linh Hoạt
XLOOKUP là phiên bản nâng cao của VLOOKUP/HLOOKUP, hỗ trợ tìm kiếm ngược, trả về mặc định khi không tìm thấy, và có thể trả về mảng.
Cú pháp:
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
match_mode: 0 (exact), -1 (exact or next smaller), 1 (exact or next larger), 2 (wildcard).search_mode: 1 (first-to-last), -1 (last-to-first).
Ví dụ: Tìm lương cơ bản của nhân viên dựa trên mã nhân viên, nếu không tìm thấy trả về “N/A”.
=XLOOKUP(D2, EmployeeID!A:A, EmployeeID!C:C, "N/A")
3.4. XMATCH – Tìm Vị Trí
XMATCH trả về vị trí (số thứ tự) của một giá trị trong một mảng.
=XMATCH(lookup_value, lookup_array, match_mode, search_mode)
Ví dụ: Tìm vị trí của “Product X” trong danh sách sản phẩm:
=XMATCH("Product X", Products!A:A, 0, 1)
4. Hàm Thống Kê & Phân Tích
4.1. MEDIAN, MODE.SNGL, PERCENTILE.INC
- MEDIAN: Giá trị trung vị.
- MODE.SNGL: Giá trị xuất hiện thường nhất (đơn).
- PERCENTILE.INC: Phần trăm vị trí trong tập dữ liệu (bao gồm 0 và 1).
Ví dụ: Tính trung vị, mode và 90th percentile cho doanh thu:
=MEDIAN(D2:D1000)
=MODE.SNGL(D2:D1000)
=PERCENTILE.INC(D2:D1000,0.9)
4.2. LINEST – Hồi Quy Tuyến Tính
LINEST trả về ma trận các hệ số hồi quy, R‑squared, và các thống kê bổ trợ.
Cú pháp mảng:
=LINEST(known_y's, known_x's, const, stats)
const: TRUE (mặc định) tính hệ số chặn, FALSE bỏ qua.stats: TRUE trả về ma trận thống kê.
Ví dụ: Phân tích mối quan hệ giữa chi phí quảng cáo (cột B) và doanh thu (cột C):
=LINEST(C2:C100, B2:B100, TRUE, TRUE)
Kết quả trả về ma trận 5×2 (hệ số, R², lỗi chuẩn, …). Khi nhập công thức, nhấn Ctrl+Shift+Enter (trong Excel phiên bản trước 365) để xác nhận là công thức mảng.
4.3. FORECAST.ETS – Dự Báo Dòng Thời Gian
Excel hỗ trợ dự báo ETS (Exponential Triple Smoothing) cho dữ liệu thời gian.
=FORECAST.ETS(target_date, values, timeline, seasonality, data_completion, aggregation)
Ví dụ: Dự báo doanh thu tháng 13 dựa trên dữ liệu 12 tháng trước:
=FORECAST.ETS(DATE(2026,13,1), B2:B13, A2:A13)
5. Hàm Văn Bản Nâng Cao
5.1. TEXTJOIN – Nối Chuỗi Với Delimiter

Có thể bạn quan tâm: Hàm Trích Xuất Dữ Liệu Trong Excel: Tổng Quan, Cách Sử Dụng Và Ứng Dụng Thực Tiễn
=TEXTJOIN(delimiter, ignore_empty, text1, text2, …)
ignore_empty: TRUE bỏ qua ô trống.
Ví dụ: Kết hợp danh sách sản phẩm thành một chuỗi, ngăn cách bằng “; ”:
=TEXTJOIN("; ", TRUE, A2:A50)
5.2. REGEXMATCH, REGEXEXTRACT, REGEXREPLACE
Excel 365 hỗ trợ các hàm regex để xử lý mẫu phức tạp.
REGEXMATCH(text, pattern): Kiểm tra khớp.REGEXEXTRACT(text, pattern): Trích xuất phần khớp đầu tiên.REGEXREPLACE(text, pattern, replacement): Thay thế.
Ví dụ: Kiểm tra số điện thoại có dạng (XXX) XXX‑XXXX:
=REGEXMATCH(A2, "^\(\d{3}\) \d{3}-\d{4}$")
5.3. MID, LEFT, RIGHT Kết Hợp Với LEN
Đây là hàm truyền thống nhưng khi kết hợp với LET và SEQUENCE trở nên mạnh mẽ.
Ví dụ: Tách mã sản phẩm “ABC‑123‑XYZ” thành ba phần:
=LET( txt, A2, part1, LEFT(txt, FIND("-", txt)-1), part2, MID(txt, FIND("-", txt)+1, FIND("-", txt, FIND("-", txt)+1)-FIND("-", txt)-1), part3, RIGHT(txt, LEN(txt)-FIND("-", txt, FIND("-", txt)+1)), part1 & " | " & part2 & " | " & part3
)
6. Hàm Thời Gian & Ngày Nâng Cao
6.1. WORKDAY.INTL – Ngày Làm Việc Với Lịch Tùy Chỉnh
=WORKDAY.INTL(start_date, days, weekend, holidays)
weekend: Chuỗi 7 ký tự “0/1”, 1 là ngày nghỉ cuối tuần (ví dụ “0000011” cho Thứ 6‑Chủ Nhật).
Ví dụ: Tính ngày giao hàng 10 ngày làm việc, nghỉ thứ 7‑Chủ nhật và ngày lễ quốc gia:
=WORKDAY.INTL(A2, 10, "0000011", Holidays!A:A)
6.2. NETWORKDAYS.INTL – Số Ngày Làm Việc Giữa Hai Ngày
=NETWORKDAYS.INTL(start_date, end_date, weekend, holidays)
Ví dụ: Đếm ngày làm việc trong tháng 5 2026:
=NETWORKDAYS.INTL(DATE(2026,5,1), DATE(2026,5,31), "0000011", Holidays!A:A)
6.3. EDATE và EOMONTH – Thêm Tháng & Kết Thúc Tháng
EDATE(start_date, months): Thêm số tháng.EOMONTH(start_date, months): Ngày cuối tháng.
Ví dụ: Tính ngày đáo hạn 6 tháng sau ngày ký hợp đồng:
=EDATE(ContractDate!B2, 6)
7. Hàm Tài Chính
7.1. NPV – Giá Trị Hiện Tại Ròng
=NPV(rate, value1, value2, …) + initial_investment
Ví dụ: Đầu tư 100,000 VNĐ, dòng tiền trong 5 năm là 30,000, 35,000, 40,000, 45,000, 50,000, lãi suất 8%:
=NPV(0.08, 30000,35000,40000,45000,50000) - 100000
7.2. IRR và XIRR – Tỷ Suất Hoàn Vốn
IRR(values, guess): Dòng tiền đều kỳ.XIRR(values, dates, guess): Dòng tiền không đều kỳ.
Ví dụ: Dòng tiền không đều:
=XIRR(B2:B7, A2:A7)
7.3. PMT – Thanh Toán Khoản Vay
=PMT(rate, nper, pv, fv, type)
type: 0 (cuối kỳ), 1 (đầu kỳ).
Ví dụ: Vay 500,000 VNĐ, lãi 10%/năm, trả trong 3 năm (hàng tháng):
=PMT(0.10/12, 36, -500000)
8. Kỹ Thuật Kết Hợp Nhiều Hàm – Các Bài Toán Thực Tế
8.1. Tính Doanh Thu Trung Bình Theo Khu Vực, Loại Sản Phẩm
Giả sử bảng Sales có các cột: Region (C), ProductType (D), Revenue (E). Muốn tính doanh thu trung bình cho mỗi kết hợp Region‑ProductType.
Công thức (dùng UNIQUE + FILTER + AVERAGE):
=LET( regions, UNIQUE(C2:C1000), types, UNIQUE(D2:D1000), result, MAP(regions, LAMBDA(r, MAP(types, LAMBDA(t, AVERAGE(FILTER(E2:E1000, (C2:C1000=r)(D2:D1000=t))) )) )), result
)
Kết quả là một mảng 2‑chiều, mỗi ô chứa doanh thu trung bình cho một cặp Region‑ProductType.
8.2. Đánh Giá Rủi Ro Dựa Trên Z‑Score
Z‑Score = (Giá trị – Trung bình) / Độ lệch chuẩn. Dùng để xác định ngoại lệ.
=LET( vals, Sales!E2:E1000, mu, AVERAGE(vals), sigma, STDEV.P(vals), z, (vals - mu)/sigma, IF(ABS(z)>3, "Outlier", "Normal")
)
8.3. Tự Động Tạo Báo Cáo “Top 10” Sản Phẩm
Sử dụng SORT, UNIQUE, FILTER:
=LET( data, Sales!A2:D1000, prod, INDEX(data,,2), // Cột Product rev, INDEX(data,,4), // Cột Revenue summary, MAP(UNIQUE(prod), LAMBDA(p, SUMIFS(rev, prod, p))), sorted, SORT(summary, 2, -1), // Sắp xếp giảm dần theo doanh thu top10, TAKE(sorted, 10), top10
)
Kết quả trả về một mảng 10 dòng, gồm tên sản phẩm và tổng doanh thu.
9. Power Query & Power Pivot – Xử Lý Dữ Liệu Lớn
9.1. Nhập Dữ Liệu Từ Nhiều Nguồn
- Power Query cho phép kéo dữ liệu từ CSV, SQL Server, Web API, SharePoint, v.v.
- Sử dụng M language để biến đổi dữ liệu (gộp, lọc, pivot, unpivot).
Ví dụ M code (đọc 2 file CSV, hợp nhất theo cột ID):
let Source1 = Csv.Document(File.Contents("C:\Data\Sales_Jan.csv"), Delimiter=",", Columns=5, Encoding=1252, QuoteStyle=QuoteStyle.None), Table1 = Table.PromoteHeaders(Source1, PromoteAllScalars=true), Source2 = Csv.Document(File.Contents("C:\Data\Sales_Feb.csv"), Delimiter=",", Columns=5, Encoding=1252, QuoteStyle=QuoteStyle.None), Table2 = Table.PromoteHeaders(Source2, PromoteAllScalars=true), Merged = Table.NestedJoin(Table1, {"ID"}, Table2, {"ID"}, "FebData", JoinKind.FullOuter), Expanded = Table.ExpandTableColumn(Merged, "FebData", {"Revenue", "Quantity"}, {"Feb_Revenue","Feb_Quantity"})
in Expanded
9.2. DAX – Tính Toán Nâng Cao Trong Power Pivot
- CALCULATE, FILTER, ALL, SUMX, AVERAGEX, RANKX là những hàm cốt lõi.
Ví dụ: Tính “Cumulative Sales” (doanh thu tích lũy) theo tháng:
Cumulative Sales :=
CALCULATE( SUM(SalesRevenue), FILTER( ALLSELECTED('Date'Month), 'Date'Month <= MAX('Date'Month) )
)
Ví dụ: Xếp hạng sản phẩm dựa trên doanh thu:
Product Rank :=
RANKX( ALL('Product'ProductName), CALCULATE(SUM(SalesRevenue)), , DESC, Dense
)
10. Thực Hành – Dự Án Mini: Dashboard Bán Hàng Đa Kênh
10.1. Mô Tả Dự Án
Bạn có 3 nguồn dữ liệu:
- OnlineSales (CSV) – Bán hàng qua website.
- RetailSales (SQL Server) – Bán hàng tại cửa hàng.
- MarketingSpend (Google Sheets) – Chi phí quảng cáo theo kênh.
Mục tiêu: Xây dựng một Dashboard hiển thị:
- Doanh thu tổng, trung bình, tăng trưởng % theo tháng.
- Chi phí quảng cáo và ROI (Return on Investment) cho mỗi kênh.
- Top 5 sản phẩm bán chạy.
- Dòng thời gian dự báo doanh thu 3 tháng tới.
10.2. Các Bước Thực Hiện
| Bước | Mô tả | Công cụ / Hàm |
|---|---|---|
| 1 | Import dữ liệu với Power Query | Get Data → From File → From CSV, From Database → From SQL Server |
| 2 | Chuẩn hoá cột ngày (Date) thành kiểu Date | Date.From trong M |
| 3 | Gộp Online và Retail thành một bảng AllSales | Append Queries |
| 4 | Tính doanh thu tổng và trung bình bằng DAX | SUM(SalesRevenue), AVERAGE(SalesRevenue) |
| 5 | Tính tăng trưởng % (MoM) | DAX: VAR Prev = CALCULATE(SUM(SalesRevenue), PREVIOUSMONTH('Date'Date)) RETURN DIVIDE(SUM(SalesRevenue) - Prev, Prev) |
| 6 | Kết hợp MarketingSpend với Sales qua Date và Channel | MERGE trong Power Query hoặc RELATEDTABLE trong DAX |
| 7 | Tính ROI = (Revenue – Spend) / Spend | DAX: ROI := DIVIDE(Revenue - Spend, Spend) |
| 8 | Lấy Top 5 sản phẩm | DAX: TOPN(5, SUMMARIZE(Sales, ProductName, "Rev", SUM(SalesRevenue)), Rev, DESC) |
| 9 | Dự báo 3 tháng tới bằng FORECAST.ETS trong Excel (hoặc ARIMA trong Power BI) | =FORECAST.ETS(...) |
| 10 | Tạo biểu đồ, slicer, và KPI trong Power BI hoặc Excel PivotChart | Sử dụng các trường DAX đã tạo |
10.3. Ví Dụ Công Thức Excel Để Tính ROI
Giả sử bảng Combined có Revenue (cột D) và Spend (cột E). ROI tính ở cột F:
=LET( rev, D2:D1000, spend, E2:E1000, IF(spend=0, 0, (rev - spend)/spend)
)
Sau đó dùng Conditional Formatting để tô màu xanh khi ROI > 0.5, đỏ khi < 0.
11. Lời Khuyên Khi Sử Dụng Công Thức Nâng Cao
- Giảm Độ Phức Tạp Bằng
LET– Đặt tên cho các biểu thức trung gian, giúp công thức dễ đọc và tính toán nhanh hơn. - Sử Dụng Hàm Mảng Thông Minh – Tránh lặp lại công thức trên từng ô; thay vào đó, trả về mảng và để Excel “spill” kết quả.
- Kiểm Tra Lỗi Sớm – Dùng
IFERRORhoặcIFNAđể xử lý các giá trị lỗi, tránh làm gián đoạn các công thức khác. - Tối Ưu Hoá Tính Toán – Giảm phạm vi tính toán (ví dụ: dùng
TablehoặcDynamic Named Ranges) để tránh tính toán trên toàn cột (A:A) khi không cần. - Ghi Chú Công Thức – Sử dụng
N()để chèn chú thích trong công thức, hoặc thêm comment trong ô. - Kiểm Tra Hiệu Năng – Khi làm việc với hàng triệu bản ghi, cân nhắc chuyển sang Power Query hoặc Power Pivot thay vì công thức mảng truyền thống.
12. Kết Luận
Việc nắm vững công thức Excel nâng cao không chỉ giúp bạn tiết kiệm thời gian mà còn mở rộng khả năng phân tích, dự báo và tự động hoá quy trình kinh doanh. Từ các hàm mảng như FILTER, SORT, UNIQUE cho tới các hàm logic mạnh mẽ như IFS, XLOOKUP, và các công cụ dữ liệu lớn như Power Query & Power Pivot, mỗi công cụ đều có vị trí riêng trong kho vũ trụ Excel.
Hãy thực hành thường xuyên, tạo ra các dự án mini như dashboard bán hàng, và dần dần tích hợp chúng vào quy trình làm việc hàng ngày. Khi đã thành thạo, bạn sẽ thấy Excel không chỉ là một bảng tính mà còn là một nền tảng phân tích dữ liệu toàn diện.
Chúc bạn thành công và luôn khám phá thêm nhiều công thức mới!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
