Tổng quan

Bài này giúp bạn hiểu cú pháp hàm, cách viết công thức đúng chuẩn, nhóm hàm cốt lõi và cách đọc lỗi công thức.

Hàm là gì và vì sao cú pháp quan trọng

  • Hàm là công thức tích hợp sẵn để thực hiện phép tính cụ thể.
  • Muốn hàm chạy đúng, cần cung cấp đối số đúng thứ tự và đúng định dạng.
  • Gợi ý tham số trong dấu ngoặc giúp biết hàm cần đầu vào nào.
  • Dấu phân tách đối số có thể là dấu phẩy , hoặc chấm phẩy ; tùy regional settings.

Ba nhóm hàm quan trọng

  • Hàm trả về một giá trị: ví dụ SUM, COUNT.
  • Hàm trả về nhiều giá trị: ví dụ UNIQUE, SORT.
  • Hàm biến động (volatile): ví dụ TODAY, NOW, RAND, RANDBETWEEN.

Nguyên tắc viết công thức tốt

  • Không nhúng hằng số vào công thức nếu có thể đặt ra ô riêng để dễ điều chỉnh.
  • Trong một vùng dữ liệu, công thức nên nhất quán.
  • Nếu cần xử lý lỗi, cập nhật công thức đầu vùng bằng IFERROR hoặc IF rồi sao chép theo vùng.
  • Nối tham chiếu ô bằng dấu &, ví dụ =A1&B1.
  • Muốn chèn text trong công thức phải dùng dấu nháy kép, ví dụ ="Hello "&A1 hoặc =A1&" "&B1.

Danh sách hàm thiết yếu (phần 1)

  • UNIQUE(range)

    Cách dùng: lấy danh sách giá trị không trùng. Ví dụ =UNIQUE(A2:A).

  • SORT(range, sort_column, is_ascending)

    Cách dùng: sắp xếp dữ liệu theo cột chỉ định. Ví dụ =SORT(A2:C, 2, TRUE).

  • FILTER(range, condition1, [condition2, ...])

    Cách dùng: lọc dữ liệu theo điều kiện. Ví dụ =FILTER(A2:C, C2:C="Đạt").

  • SORTN(range, [n], [display_ties_mode], [sort_column], [is_ascending])

    Cách dùng: lấy top N dòng theo cột sắp xếp. Ví dụ =SORTN(A2:C, 5, 0, 3, FALSE).

Danh sách hàm thiết yếu (phần 2)

  • COUNTIFS(criteria_range1, criterion1, [criteria_range2, criterion2, ...])

    Cách dùng: đếm số dòng thỏa nhiều điều kiện. Ví dụ =COUNTIFS(B:B, "Hà Nội", C:C, ">=8").

  • SUMIFS(sum_range, criteria_range1, criterion1, [criteria_range2, criterion2, ...])

    Cách dùng: tính tổng theo nhiều điều kiện. Ví dụ =SUMIFS(D:D, B:B, "Hà Nội", C:C, ">=8").

  • AVERAGEIFS(average_range, criteria_range1, criterion1, ...)

    Cách dùng: tính trung bình có điều kiện. Ví dụ =AVERAGEIFS(D:D, B:B, "Hà Nội").

  • MINIFS(min_range, criteria_range1, criterion1, ...), MAXIFS(max_range, criteria_range1, criterion1, ...)

    Cách dùng: lấy giá trị nhỏ nhất/lớn nhất theo điều kiện. Ví dụ =MAXIFS(D:D, B:B, "Hà Nội").

Danh sách hàm thiết yếu (phần 3)

  • ROUND(number, [places]), ROUNDUP(number, [places]), ROUNDDOWN(number, [places])

    Cách dùng: làm tròn số theo quy tắc gần nhất, luôn lên, hoặc luôn xuống. Ví dụ =ROUND(12.345, 2).

  • IF(logical_expression, value_if_true, value_if_false)

    Cách dùng: rẽ nhánh điều kiện đơn. Ví dụ =IF(C2>=5, "Đạt", "Trượt").

  • IFS(condition1, value1, [condition2, value2, ...])

    Cách dùng: rẽ nhiều nhánh điều kiện. Ví dụ =IFS(C2>=8, "Giỏi", C2>=6.5, "Khá", C2>=5, "Trung bình", TRUE, "Yếu").

  • VLOOKUP(search_key, range, index, [is_sorted]), HLOOKUP(search_key, range, index, [is_sorted])

    Cách dùng: tra cứu theo cột dọc hoặc hàng ngang. Ví dụ =VLOOKUP(A2, F2:H100, 3, FALSE).

Các lỗi công thức thường gặp

  • #DIV/0!: chia cho 0.
  • #VALUE!: sai kiểu dữ liệu đối số.
  • #REF!: tham chiếu bị sai/mất, hoặc spill bị chặn.
  • #NAME?: sai tên hàm hoặc gõ sai cú pháp tên.
  • #N/A: không tìm thấy giá trị khớp (hay gặp với lookup).
  • #ERROR!: lỗi parse do nhập sai đối số hoặc cú pháp.