Hàm cơ bản trong excel

Tổng Hợp Công Thức Hàm Excel Cơ Bản
SUM
Thống kê
Tính tổng các giá trị trong một phạm vi ô.
=SUM(số1, [số2], ...)

=SUM(A1:A10) → Tính tổng các giá trị từ ô A1 đến A10

=SUM(5, 10, 15) → Kết quả: 30

Có thể tính tổng tối đa 255 đối số.
AVERAGE
Thống kê
Tính trung bình cộng của các số.
=AVERAGE(số1, [số2], ...)

=AVERAGE(B2:B10) → Tính trung bình các giá trị từ B2 đến B10

=AVERAGE(10, 20, 30) → Kết quả: 20

Hàm bỏ qua ô trống và ô chứa văn bản.
COUNT
Thống kê
Đếm số ô chứa số trong một phạm vi.
=COUNT(giá_trị1, [giá_trị2], ...)

=COUNT(A1:A10) → Đếm số ô chứa số từ A1 đến A10

=COUNT(1, "text", 3) → Kết quả: 2

Không đếm ô trống hoặc ô chứa văn bản.
MAX/MIN
Thống kê
Tìm giá trị lớn nhất/nhỏ nhất trong một phạm vi.
=MAX(số1, [số2], ...)
=MIN(số1, [số2], ...)

=MAX(C1:C20) → Tìm giá trị lớn nhất từ C1 đến C20

=MIN(5, 10, 15) → Kết quả: 5

Bỏ qua ô trống và ô chứa văn bản.
TODAY
Thời gian
Trả về ngày hiện tại.
=TODAY()

=TODAY() → Trả về ngày hiện tại, ví dụ: 19/05/2025

=TODAY()+7 → Ngày sau 7 ngày kể từ hôm nay

Ngày sẽ tự động cập nhật khi mở file.
NOW
Thời gian
Trả về ngày và giờ hiện tại.
=NOW()

=NOW() → Trả về ngày và giờ hiện tại, ví dụ: 19/05/2025 14:30

Kết quả sẽ thay đổi mỗi khi file được tính toán lại.
DATE
Thời gian
Tạo một ngày từ năm, tháng, ngày được chỉ định.
=DATE(năm, tháng, ngày)

=DATE(2025, 5, 19) → Kết quả: 19/05/2025

=DATE(2025, 13, 1) → Tự động chuyển thành 01/01/2026

Nếu tháng lớn hơn 12, Excel sẽ tự động chuyển sang năm sau.
DATEDIF
Thời gian
Tính chênh lệch giữa hai ngày (năm, tháng, ngày).
=DATEDIF(ngày_bắt_đầu, ngày_kết_thúc, đơn_vị)

=DATEDIF("1/1/2020", "1/1/2025", "Y") → Số năm: 5

=DATEDIF(A1, TODAY(), "M") → Số tháng từ ngày trong A1 đến nay

Đơn vị: "Y" (năm), "M" (tháng), "D" (ngày), "MD" (ngày bỏ qua tháng/năm), "YM" (tháng bỏ qua năm), "YD" (ngày bỏ qua năm).
ROUND
Số
Làm tròn số đến số chữ số thập phân được chỉ định.
=ROUND(số, số_chữ_số)

=ROUND(3.14159, 2) → Kết quả: 3.14

=ROUND(123.456, -1) → Kết quả: 120

số_chữ_số dương: làm tròn sau dấu phẩy; âm: làm tròn trước dấu phẩy.
MOD
Số
Trả về số dư của phép chia.
=MOD(số_bị_chia, số_chia)

=MOD(10, 3) → Kết quả: 1 (10 chia 3 dư 1)

=MOD(A2, 2)=0 → Kiểm tra số chẵn

Kết quả cùng dấu với số_chia. Nếu số_chia = 0 sẽ báo lỗi.
RAND/RANDBETWEEN
Số
Tạo số ngẫu nhiên trong khoảng xác định.
=RAND()
=RANDBETWEEN(giá_trị_nhỏ_nhất, giá_trị_lớn_nhất)

=RAND() → Số ngẫu nhiên từ 0 đến 1

=RANDBETWEEN(1, 100) → Số nguyên ngẫu nhiên từ 1 đến 100

Số sẽ thay đổi mỗi khi file được tính toán lại. Để cố định, copy và paste giá trị.
LEFT/RIGHT/MID
Chuỗi
Trích xuất phần của chuỗi văn bản.
=LEFT(văn_bản, [số_ký_tự])
=RIGHT(văn_bản, [số_ký_tự])
=MID(văn_bản, vị_trí_bắt_đầu, số_ký_tự)

=LEFT("Excel", 2) → "Ex"

=RIGHT("Hàm số", 2) → "ố"

=MID("Xử lý chuỗi", 5, 4) → "chuỗ"

MID bắt đầu từ vị_trí_bắt_đầu (vị trí đầu tiên là 1).
LEN
Chuỗi
Trả về số ký tự trong chuỗi văn bản.
=LEN(văn_bản)

=LEN("Excel") → 5

=LEN(A1) → Đếm số ký tự trong ô A1

Đếm cả khoảng trắng. Mỗi ký tự Unicode cũng tính là 1.
CONCATENATE (&)
Chuỗi
Nối nhiều chuỗi văn bản thành một chuỗi.
=CONCATENATE(văn_bản1, [văn_bản2], ...)
=văn_bản1 & văn_bản2 & ...

=CONCATENATE("Hàm ", "Excel") → "Hàm Excel"

=A1 & " " & B1 → Nối giá trị A1, khoảng trắng và B1

Từ Excel 2016 có thể dùng hàm CONCAT hoặc TEXTJOIN mạnh hơn.
TRIM
Chuỗi
Loại bỏ khoảng trắng thừa trong văn bản.
=TRIM(văn_bản)

=TRIM(" Excel ") → "Excel"

=TRIM(A1) → Xóa khoảng trắng thừa trong ô A1

Chỉ giữ lại 1 khoảng trắng giữa các từ, xóa tất cả khoảng trắng đầu và cuối.
VLOOKUP
Dò tìm
Tìm kiếm giá trị theo cột dọc.
=VLOOKUP(giá_trị_tìm, bảng_tìm, số_thứ_tự_cột, [kiểu_tìm])

=VLOOKUP("A1", B2:E100, 3, FALSE) → Tìm "A1" trong cột B, trả về giá trị cột D (cột thứ 3 trong B2:E100)

FALSE: tìm chính xác; TRUE: tìm gần đúng (cột đầu phải sắp xếp tăng dần).
HLOOKUP
Dò tìm
Tìm kiếm giá trị theo hàng ngang.
=HLOOKUP(giá_trị_tìm, bảng_tìm, số_thứ_tự_hàng, [kiểu_tìm])

=HLOOKUP("Tháng 1", A1:D5, 3, FALSE) → Tìm "Tháng 1" trong hàng 1, trả về giá trị hàng 3

Tương tự VLOOKUP nhưng làm việc theo hàng thay vì cột.
IF
Logic
Kiểm tra điều kiện và trả về giá trị tương ứng.
=IF(điều_kiện, [giá_trị_đúng], [giá_trị_sai])

=IF(A1>5, "Đạt", "Không đạt") → Nếu A1>5 trả "Đạt", ngược lại "Không đạt"

=IF(B2="", "Trống", "Có dữ liệu") → Kiểm tra ô trống

Có thể lồng nhiều IF hoặc kết hợp với AND/OR để kiểm tra nhiều điều kiện.
AND/OR/NOT
Logic
Kết hợp nhiều điều kiện logic.
=AND(điều_kiện1, [điều_kiện2], ...)
=OR(điều_kiện1, [điều_kiện2], ...)
=NOT(điều_kiện)

=AND(A1>5, A1<10) → TRUE nếu A1 lớn hơn 5 và nhỏ hơn 10

=OR(B2="Nam", B2="Nữ") → TRUE nếu B2 là "Nam" hoặc "Nữ"

=NOT(C1=0) → TRUE nếu C1 khác 0

AND: tất cả đúng → TRUE; OR: ít nhất 1 đúng → TRUE; NOT: phủ định.
SUMIF/SUMIFS
Thống kê
Tính tổng có điều kiện (1 hoặc nhiều điều kiện).
=SUMIF(vùng_điều_kiện, điều_kiện, [vùng_tính_tổng])
=SUMIFS(vùng_tính_tổng, vùng_điều_kiện1, điều_kiện1, [vùng_điều_kiện2, điều_kiện2], ...)

=SUMIF(B2:B10, ">100", C2:C10) → Tổng cột C nếu cột B > 100

=SUMIFS(C2:C10, B2:B10, ">100", A2:A10, "Miền Bắc") → Tổng cột C nếu cột B > 100 và cột A là "Miền Bắc"

SUMIFS hỗ trợ nhiều điều kiện, thứ tự tham số khác SUMIF.
COUNTIF/COUNTIFS
Thống kê
Đếm ô thỏa mãn điều kiện (1 hoặc nhiều điều kiện).
=COUNTIF(vùng_đếm, điều_kiện)
=COUNTIFS(vùng_điều_kiện1, điều_kiện1, [vùng_điều_kiện2, điều_kiện2], ...)

=COUNTIF(A1:A100, ">50") → Đếm ô >50 trong A1:A100

=COUNTIFS(B1:B100, "Nam", C1:C100, ">60") → Đếm nam có điểm >60

Có thể dùng ký tự đại diện: * (nhiều ký tự), ? (1 ký tự).
SUMPRODUCT
Thống kê
Nhân các phần tử tương ứng trong mảng rồi tính tổng.
=SUMPRODUCT(mảng1, [mảng2], ...)

=SUMPRODUCT(B2:B10, C2:C10) → Tính tổng (B2*C2 + B3*C3 + ... + B10*C10)

=SUMPRODUCT((A2:A10="Nam")*(B2:B10>5)) → Đếm nam có điểm >5

Có thể dùng thay thế cho công thức mảng trong nhiều trường hợp.
EOMONTH/EDATE
Thời gian
Tìm ngày cuối tháng hoặc cộng/tháng tháng vào ngày.
=EOMONTH(ngày_bắt_đầu, số_tháng)
=EDATE(ngày_bắt_đầu, số_tháng)

=EOMONTH(TODAY(), 0) → Ngày cuối tháng hiện tại

=EDATE("1/1/2025", 3) → 1/4/2025 (cộng thêm 3 tháng)

EOMONTH trả về ngày cuối tháng, EDATE trả về cùng ngày của tháng sau.
SEARCH/FIND
Chuỗi
Tìm vị trí của chuỗi con trong chuỗi.
=SEARCH(chuỗi_tìm, chuỗi_nguồn, [vị_trí_bắt_đầu])
=FIND(chuỗi_tìm, chuỗi_nguồn, [vị_trí_bắt_đầu])

=SEARCH("e", "Excel") → 1 (không phân biệt hoa thường)

=FIND("E", "Excel") → 1 (phân biệt hoa thường)

SEARCH không phân biệt hoa thường, FIND phân biệt hoa thường.
LOOKUP
Dò tìm
Tìm kiếm giá trị trong một mảng (dạng vector hoặc dạng mảng).
=LOOKUP(giá_trị_tìm, vùng_tìm, [vùng_kết_quả])

=LOOKUP(5, A1:A10, B1:B10) → Tìm 5 trong A1:A10, trả về giá trị tương ứng B1:B10

=LOOKUP("Táo", {"Cam","Táo","Lê"}, {10,20,30}) → 20

Vùng tìm phải được sắp xếp tăng dần. Nếu không tìm thấy sẽ trả về giá trị gần nhất nhỏ hơn.
XLOOKUP
Dò tìm
Hàm tìm kiếm mạnh mẽ thay thế VLOOKUP/HLOOKUP (Excel 365).
=XLOOKUP(giá_trị_tìm, vùng_tìm, vùng_trả_về, [không_tìm_thấy], [chế_độ_so_khớp], [chế_độ_tìm_kiếm])

=XLOOKUP("A1", A2:A100, C2:C100) → Tìm "A1" trong A2:A100, trả về giá trị tương ứng C2:C100

=XLOOKUP("Táo", B2:B10, D2:D10, "Không tìm thấy", 0, 1)

Ưu điểm: Không cần đếm cột, có thể tìm ngược, tìm theo hàng ngang/dọc, hỗ trợ tìm kiếm gần đúng/chính xác.
MATCH
Số
Tìm vị trí của giá trị trong một mảng.
=MATCH(giá_trị_tìm, vùng_tìm, [kiểu_so_khớp])

=MATCH("Táo", A1:A10, 0) → Vị trí của "Táo" trong A1:A10

=MATCH(100, B1:B100, 1) → Vị trí của giá trị ≤100 trong dãy sắp xếp tăng dần

Kiểu so khớp: 0 (chính xác), 1 (≤, mảng tăng dần), -1 (≥, mảng giảm dần).
INDEX
Số
Trả về giá trị tại vị trí xác định trong mảng.
=INDEX(mảng, số_hàng, [số_cột])

=INDEX(A1:C10, 5, 2) → Giá trị tại hàng 5 cột 2 (B5)

=INDEX(A1:A10, MATCH("Táo", A1:A10, 0)) → Kết hợp với MATCH để tìm kiếm

Thường kết hợp với MATCH để thay thế VLOOKUP/HLOOKUP linh hoạt hơn.
Công thức mảng với IF
Số
Thực hiện phép tính trên nhiều phần tử với điều kiện.
{=IF(điều_kiện, giá_trị_đúng, giá_trị_sai)} (nhấn Ctrl+Shift+Enter)

{=SUM(IF(A1:A10>5, B1:B10, 0))} → Tổng B1:B10 nếu A1:A10>5

{=MAX(IF(B2:B100="Nam", C2:C100))} → Điểm cao nhất của nam

Excel 365 không cần Ctrl+Shift+Enter, tự động nhận công thức mảng động.