08/11/2026

Hàm SUBTOTAL tính tổng khi lọc dữ liệu trong Excel | SUBTOTAL, AGGREGATE | AutoLISP Reviewer

Hàm SUBTOTAL tính tổng khi lọc dữ liệu trong Excel

Lọc bảng bán hàng chỉ còn nhân viên An, nhưng ô tổng dùng =SUM(D2:D500) vẫn ra con số của cả bảng? Đó là vì SUM cộng luôn các dòng đang bị ẩn do lọc. Hàm SUBTOTAL chỉ tính trên các dòng đang hiển thị: lọc tới đâu, tổng, đếm, trung bình đúng tới đó. Đây là hàm nên dùng cho mọi dòng tổng của bảng hay phải lọc.

Ví dụ: cột A là Ngày, cột B là Nhân viên, cột C là Mặt hàng, cột D là Thành tiền, dữ liệu từ dòng 2 đến dòng 500, dòng 1 là tiêu đề đã bật Filter (Ctrl + Shift + L).

1. Cú pháp SUBTOTAL

• =SUBTOTAL(mã_hàm; vùng_1; [vùng_2]; ...) — mã_hàm là con số quyết định phép tính.
• Mã hay dùng: 9 = tổng (SUM), 3 = đếm ô có dữ liệu (COUNTA), 2 = đếm ô số (COUNT), 1 = trung bình, 4 = lớn nhất, 5 = nhỏ nhất.
• Cả hai nhóm mã đều bỏ qua dòng bị ẩn do lọc (Filter).
• Máy Excel Việt Nam dùng dấu ; giữa các đối số; máy đặt locale Mỹ dùng dấu ,.

2. Mã 9 hay 109: khác nhau ở dòng ẩn tay

• Mã 1–11 (ví dụ 9): bỏ dòng bị lọc, nhưng vẫn tính dòng bạn ẩn bằng chuột phải > Hide.
• Mã 101–111 (ví dụ 109): bỏ cả dòng bị lọc lẫn dòng ẩn tay.
• Tổng dòng đang lọc: =SUBTOTAL(9;D2:D500). Bảng hay ẩn dòng thủ công: =SUBTOTAL(109;D2:D500).
• Mẹo: chọn ô ngay dưới cột đang lọc rồi bấm AutoSum (Alt + =), Excel tự chèn SUBTOTAL(9;...) thay vì SUM.

3. Ví dụ thực tế

• Đếm số đơn đang hiện sau khi lọc: =SUBTOTAL(3;B2:B500).
• Doanh số trung bình mỗi đơn của nhóm đang lọc: =SUBTOTAL(1;D2:D500).
• Ghép câu báo cáo: ="Đang lọc "&SUBTOTAL(3;B2:B500)&" đơn, tổng "&TEXT(SUBTOTAL(9;D2:D500);"#,##0")&" đ".
• Mẹo: chèn thêm một dòng phía trên tiêu đề để đặt ô tổng, kết hợp Freeze Panes — lọc xong vẫn thấy ngay kết quả mà không phải kéo xuống cuối bảng.

4. Tổng phụ theo nhóm không bị cộng trùng

• SUBTOTAL tự bỏ qua các ô SUBTOTAL khác nằm trong vùng: tổng phụ từng nhóm + tổng cuối bằng SUBTOTAL không bị cộng hai lần.
• Tạo nhanh tổng phụ theo nhân viên: sắp xếp theo cột B > Data > Subtotal > At each change in: Nhân viên, Use function: Sum, tick Thành tiền.
• Bấm các nút 1, 2, 3 bên trái để thu gọn chỉ còn tổng chung, tổng từng nhóm hoặc xem chi tiết.
• Bỏ tổng phụ: Data > Subtotal > Remove All.

5. AGGREGATE khi cột có lỗi và lưu ý

• Cột có ô lỗi #N/A, #DIV/0! làm SUBTOTAL báo lỗi theo. Dùng =AGGREGATE(9;6;D2:D500): 9 = tổng, 6 = bỏ qua giá trị lỗi (Excel 2010 trở lên).
• AGGREGATE tùy chọn 5 = bỏ dòng ẩn, 7 = bỏ cả dòng ẩn lẫn lỗi.
• SUBTOTAL chỉ bỏ qua dòng ẩn; cột ẩn theo chiều ngang vẫn được tính.
• Kết quả bằng 0: cột tiền là số dạng text (lệch trái ô) — chuyển về dạng số trước.

Lời Kết

Nhớ hai con số: 9 để tổng theo dữ liệu đang lọc, 109 khi muốn bỏ cả dòng ẩn tay; cột có lỗi thì chuyển sang AGGREGATE. Thay SUM bằng SUBTOTAL ở dòng tổng là báo cáo lọc theo nhân viên, mặt hàng hay tháng đều ra số đúng ngay. Bạn đang dùng SUM hay SUBTOTAL cho dòng tổng? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

07/11/2026

Hàm TEXT định dạng số và ngày trong Excel | TEXT | AutoLISP Reviewer

Hàm TEXT định dạng số và ngày trong Excel

Ghép chuỗi kiểu ="Ngày lập: "&A2 mà ra "Ngày lập: 46323"? Số tiền ghép vào câu thì mất dấu phân cách nghìn? Đó là vì Excel lưu ngày dưới dạng số tuần tự và ô số khi nối chuỗi bằng & không giữ định dạng hiển thị. Hàm TEXT chuyển giá trị thành chữ theo mẫu bạn chỉ định — dùng để ghép báo cáo, hóa đơn, mã hàng đủ số 0 đầu.

Cú pháp chung: =TEXT(giá_trị; "định_dạng"). Máy Excel Việt Nam / châu Âu dùng dấu ; giữa các đối số; máy đặt locale Mỹ dùng dấu ,. Kết quả của TEXT luôn là chữ (text), không còn là số — không cộng trừ nhân chia tiếp trên ô đó.

1. Cú pháp và nguyên tắc

• =TEXT(giá_trị; "định_dạng") — giá_trị là ô hoặc biểu thức; định_dạng là chuỗi mẫu trong dấu nháy kép.
• TEXT trả về chuỗi ký tự. Cần tính toán tiếp thì giữ ô gốc dạng số/ngày và chỉ dùng TEXT khi ghép câu hoặc xuất báo cáo.
• Mã định dạng phụ thuộc dấu thập phân của máy: trên máy VN dùng dấu phẩy làm thập phân thì một số mẫu viết 0,0 thay vì 0.0.
• Ghép với chữ khác bằng &: ="Tổng: "&TEXT(B2;"#,##0")&" đ".

2. Định dạng ngày tháng

• Ngày kiểu Việt Nam: =TEXT(A2;"dd/mm/yyyy") → 07/11/2026.
• Chỉ ngày-tháng: =TEXT(A2;"dd/mm"). Tháng-năm: =TEXT(A2;"mm/yyyy").
• Tên thứ: =TEXT(A2;"dddd") (theo ngôn ngữ Windows/Excel). Viết tắt thứ: "ddd".
• Ghép câu: ="Ngày lập: "&TEXT(A2;"dd/mm/yyyy") — hết hiện tượng 46323.

3. Định dạng số tiền và mã

• Tiền có dấu phân cách nghìn: =TEXT(B2;"#,##0") → 1,250,000 (ký hiệu phân cách theo cài đặt máy).
• Có phần thập phân: =TEXT(B2;"#,##0.00") hoặc trên máy VN "#,##0,00".
• Thêm số 0 đầu (mã hàng, mã NV): =TEXT(C2;"00000") → 00125 khi C2 = 125.
• Phần trăm: =TEXT(D2;"0,0%") hoặc "0.0%" tùy locale → 12,5%.

4. Ghép chuỗi thực tế

• Hóa đơn / biên bản: ="Ngày "&TEXT(A2;"dd/mm/yyyy")&" — Tổng "&TEXT(B2;"#,##0")&" đồng".
• Mã ghép từ số: ="SP-"&TEXT(C2;"0000") → SP-0125.
• Không dùng TEXT trên ô rồi kỳ vọng SUM vẫn đúng — hãy SUM cột số gốc, TEXT chỉ trên cột phụ hoặc ô tiêu đề.

5. Lỗi hay gặp và mẹo

• Ra 46323 khi ghép ngày: ô ngày đang bị nối chuỗi thô — bọc TEXT(...;"dd/mm/yyyy").
• Công thức báo lỗi tên / cú pháp: kiểm tra dấu ; hay , theo locale máy.
• Cần giữ kiểu số để tính: định dạng ô bằng Format Cells (Ctrl + 1) thay vì TEXT; TEXT chỉ khi bắt buộc ra chữ.
• Xuất CSV / gửi hệ thống khác: TEXT giúp cố định dạng ngày và mã đủ 0 đầu, tránh Excel nuốt số 0.

Lời Kết

Hàm TEXT biến số và ngày thành chữ theo đúng mẫu bạn cần khi ghép báo cáo, hóa đơn hay mã hàng. Nhớ kết quả là chữ — không cộng trừ tiếp — và chọn dấu ; hoặc , đúng với máy đang dùng. Bạn hay dùng TEXT cho ngày, tiền hay mã đủ số 0? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

06/11/2026

Vẽ nhanh cầu thang tự động bằng AI | Lệnh THA trên ajsCAD | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản
   

Link tải/Thông tin thêm: 👉👉👉

Giới thiệu

Lệnh THA — vẽ nhanh cầu thang tự động bằng AI trên ứng dụng vẽ CAD hoàn toàn mới ajsCAD do AJS (AutoLISP Thật Là Đơn Giản) phát triển.

Mỗi lần vẽ cầu thang bạn lại phải ngồi bấm máy tính tính chiều cao cổ bậc, rồi kỳ cạch vẽ từng nét Line, Offset, Trim chia bậc thủ công rất mất thời gian?

Hãy trải nghiệm ngay lệnh THA trên ajsCAD. Được xây dựng trên nền tảng engine CadCraft, ajsCAD có giao diện trực quan, tốc độ xử lý nhẹ mượt và tích hợp sẵn công cụ vẽ thang theo tham số thực tế.

Các bước thực hiện

1 Trên giao diện ajsCAD, gõ lệnh THA và nhấn Enter.

2 Cửa sổ thông số xuất hiện. Nhập các thông số cơ bản: chiều cao tầng kiến trúc; số bậc cho từng phân đoạn (đoạn 1, đoạn 2, đoạn 3 — chiếu nghỉ, thang 2 vế hoặc 3 vế); bề rộng bản thang và chiều rộng bậc.

3 Bấm chọn điểm đặt trên bản vẽ.

Kết quả

ajsCAD tự tính chiều cao cổ bậc theo thông số đã nhập, tự phân chia bậc thang và vẽ hoàn thiện mặt bằng cầu thang theo các tham số đó.

Lưu ý: đây là công cụ hỗ trợ vẽ theo tham số người dùng nhập. Bạn vẫn cần tự đối chiếu với yêu cầu thiết kế và quy chuẩn áp dụng cho công trình của mình.

ajsCAD còn những gì

Lệnh THA là một trong các tính năng thiết kế kiến trúc theo tham số nằm trong ứng dụng ajsCAD do AJS phát triển:
• Nền tảng CadCraft: tối ưu hiệu năng, khởi động nhanh, thao tác mượt và tương thích định dạng bản vẽ tiêu chuẩn.
• Giao diện thân thiện: tối giản, tập trung vào không gian làm việc cho kỹ sư và kiến trúc sư.
• Tự động hóa tham số: hỗ trợ tạo nhanh các cấu kiện kiến trúc, kết cấu và trắc địa từ vài thông số đầu vào.

Thông tin thêm

☎ Hotline/Zalo kỹ thuật: 0382.77.44.57


---------------------------------------------------------------------------------------------
Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản

    

Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Lisp Tính khối lượng hót lòng cống | THTN Hót lấp cống - Tổng hợp trắc ngang | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản
   

Link tải/Thông tin thêm: 👉👉👉

Giới thiệu

Lệnh THHLC / THHLCTH thuộc nhóm Hót lấp cống trong bộ ứng dụng THTN (Tổng hợp trắc ngang & Nạo vét) do AJS (AutoLISP Thật Là Đơn Giản) phát triển.

Mỗi tuyến có hàng chục cống: đo diện tích từng mặt cắt, đo chiều dài cống, nhân tay rồi gõ lại vào bảng tổng hợp rất mất thời gian và dễ sai.

Nhóm lệnh Hót lấp cống trong THTN giúp bạn chọn một vùng bản vẽ chứa các cống; ứng dụng tự đọc tiêu đề, lý trình, Hatch mặt bằng và mặt cắt, tính khối lượng rồi lập bảng tổng hợp theo lý trình.



Palette và lệnh

Palette THHS gồm các nhóm: 1. Chọn thành phần · 2. Điền bảng biểu · 3. Tổng hợp diện tích · 4. Hót lấp cống.

Trong nhóm 4. Hót lấp cống:
• Tính DT lòng cống (THHLC): quét vùng bản vẽ, nhận diện từng cống, tính diện tích/khối lượng, chèn block bảng khối lượng.
• Tổng hợp lòng cống (THHLCTH): gom các block (hoặc toàn bộ) thành bảng tổng hợp theo lý trình.
• Nút ▦ (THHLCBLOCK): chép block bảng khối lượng từ thư viện 01.THTN_SETTINGS.dwg.

Cài đặt liên quan: từ khóa tiêu đề, từ khóa nhãn mặt cắt hố thu / lòng cống, layer Hatch, tên block, chiều cao chữ, đơn vị bản vẽ (mặc định dm — nên kiểm tra trước khi chạy).

Mô hình tính toán

Mỗi cống là một cụm đối tượng gồm:
• Tiêu đề có chữ "CỐNG" và text lý trình dạng Km..+...
• Mặt bằng: Hatch thân cống dài-mảnh (cạnh dài / cạnh ngắn ≥ 3, có thể gồm nhiều đốt thẳng hàng) và Hatch hố thu chạm thân cống.
• Hai mặt cắt "HỐ THU" và "HẠ LƯU / LÒNG CỐNG"; mỗi mặt cắt lấy Hatch lớp bùn lấp (Hatch lớn nhất).

Công thức:
• KL hố thu = DT mặt cắt hố thu × chiều dài hố thu trên mặt bằng.
• KL lòng cống = DT mặt cắt lòng cống × chiều dài cống.

Chiều dài cống lấy theo thứ tự ưu tiên: số ghi trên Dim → số đo Dim → chiều dài Hatch. Đơn vị bản vẽ được quy đổi sang mét trước khi tính.



Các bước thực hiện

1 Mở palette THHS, nhóm 4. Hót lấp cống, bấm Tính DT lòng cống (THHLC). Kiểm tra đơn vị bản vẽ (mặc định dm).

2 Quét chọn vùng bản vẽ có đủ tiêu đề, lý trình, mặt bằng và mặt cắt có Hatch.

3 Hệ thống tự chia nhóm theo từng cống; nhận diện Hatch; tính diện tích và khối lượng; chèn block bảng khối lượng AJS_HOTLAPCONG dưới text lý trình; in cảnh báo với cống thiếu dữ liệu.

4 Kiểm tra, sửa giá trị trong block nếu cần.

5 Bấm Tổng hợp lòng cống (THHLCTH), chọn các block hoặc nhấn Enter để lấy tất cả.

Kết quả

Bảng tổng hợp khối lượng hót lấp cống sắp xếp theo lý trình: tên cống, lý trình, KL hố thu, KL lòng cống, diễn giải và dòng tổng cộng; cảnh báo lý trình trùng.


Xuất được sang Excel, lưu CSV, hoặc vẽ bảng trực tiếp trên bản vẽ CAD.



THTN còn những gì

Bộ THTN của AJS còn hỗ trợ: tính hót sụt và tổng hợp diện tích/khối lượng hót sụt; tính nạo vét, vẽ Hatch và điền diện tích; điền bảng biểu cao độ, khoảng cách lẻ, cộng lý trình; cùng nhóm Hót lấp cống như trên.

Thông tin thêm


☎ Hotline/Zalo kỹ thuật: 0382.77.44.57


---------------------------------------------------------------------------------------------
Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản

    

Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Hàm INDEX + MATCH tra cứu linh hoạt trong Excel | INDEX, MATCH | AutoLISP Reviewer

Hàm INDEX + MATCH tra cứu linh hoạt trong Excel

Cần tra giá theo mã hàng, lấy tên nhân viên từ mã NV hay tìm cột nằm bên trái cột khóa? VLOOKUP chỉ tra được về phía phải và dễ lệch khi chèn cột giữa bảng. Ghép INDEX với MATCH linh hoạt hơn: trả về ô ở hàng do MATCH tìm được, cột trả về đặt đâu cũng được, thêm cột không làm hỏng công thức.

Ví dụ: cột A là Mã, cột B là Tên, cột C là Đơn giá. Ô F2 chứa mã cần tra. Muốn lấy đơn giá dùng INDEX trên cột C; muốn lấy tên từ bảng mà cột tên nằm bên trái cột mã vẫn làm được.

1. Cú pháp INDEX + MATCH

• =INDEX(vùng_trả_về; MATCH(giá_trị_tìm; vùng_khóa; 0))
• MATCH trả về vị trí (số thứ tự hàng) của giá trị trong vùng khóa. Tham số 0 = khớp chính xác (nên dùng với mã, tên).
• INDEX lấy giá trị tại hàng đó trong vùng trả về. Hai vùng nên cùng số hàng (hoặc cùng chiều cao cột).
• Ví dụ lấy đơn giá theo mã: =INDEX(C:C;MATCH(F2;A:A;0)) hoặc giới hạn vùng =INDEX(C2:C100;MATCH(F2;A2:A100;0)).

2. So với VLOOKUP

• VLOOKUP: cột trả về phải nằm bên phải cột khóa; số thứ tự cột viết cứng (2, 3...), chèn cột giữa là lệch kết quả.
• INDEX + MATCH: vùng trả về độc lập với vùng khóa — cột trả về có thể nằm bên trái cột khóa.
• Thêm cột giữa bảng: công thức INDEX + MATCH không bị lệch vì không dùng số cột cố định như VLOOKUP.
• Excel 365/2021 có XLOOKUP gọn hơn; máy Excel cũ hoặc file cần tương thích ngược thì INDEX + MATCH vẫn là lựa chọn chắc chắn.

3. Tra cột bên trái

• Bảng có cột A = Tên, cột B = Mã. Cần nhập mã ở F2 để lấy tên: =INDEX(A:A;MATCH(F2;B:B;0)).
• VLOOKUP không làm được trường hợp này trừ khi đảo lại cột nguồn. INDEX + MATCH giữ nguyên bố cục bảng.

4. Nhiều điều kiện ghép bằng &

• Cần khớp cả Mã hàng (cột A) và Kho (cột B) rồi lấy đơn giá (cột C): =INDEX(C:C;MATCH(F2&G2;A:A&B:B;0)), trong đó F2 là mã, G2 là kho.
• Trên Excel 2019 trở xuống, công thức mảng này cần Ctrl + Shift + Enter. Excel 365 và Excel 2021 chạy Enter thường.
• Có thể tạo cột phụ ghép sẵn =A2&B2 rồi MATCH trên cột phụ cho dễ đọc và nhanh hơn với bảng lớn.

5. Lỗi #N/A và mẹo hay dùng

• Lỗi #N/A: không tìm thấy giá trị. Bọc =IFERROR(INDEX(...);"Không thấy") hoặc IFNA để báo đẹp.
• Thừa khoảng trắng: dùng TRIM cho ô tìm hoặc cột khóa. Khác kiểu số/chữ (mã "001" và số 1) cũng gây #N/A.
• MATCH với 1 hoặc -1 là tìm gần đúng trên dãy đã sắp xếp; với mã hàng, tên riêng luôn dùng 0.
• Máy dùng dấu phẩy làm dấu phân cách đối số thì thay ; bằng , trong công thức.

Lời Kết

INDEX lấy giá trị, MATCH tìm vị trí: ghép lại là bộ đôi tra cứu linh hoạt hơn VLOOKUP, đặc biệt khi cần cột bên trái hoặc nhiều điều kiện ghép bằng &. Nhớ MATCH với 0 để khớp chính xác và bọc IFERROR khi dữ liệu có thể thiếu. Bạn đang dùng VLOOKUP, XLOOKUP hay INDEX + MATCH cho bảng giá và chấm công? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

05/11/2026

Hàm DATEDIF tính tuổi, thâm niên trong Excel | DATEDIF, YEARFRAC | AutoLISP Reviewer

Hàm DATEDIF tính tuổi, thâm niên trong Excel



Tính tuổi nhân viên, số năm công tác để xét nâng lương, thời gian bảo hành còn lại hay số tháng đã thuê nhà? Lấy năm hiện tại trừ năm sinh thì thường lệch 1 tuổi vì chưa tới ngày sinh nhật. Excel có hàm DATEDIF tính chính xác số năm, tháng, ngày giữa hai mốc thời gian. Đây là hàm "ẩn": gõ vào không có gợi ý cú pháp nhưng vẫn chạy bình thường trên mọi phiên bản Excel.

Ví dụ: cột B là Ngày sinh hoặc Ngày vào làm, ô C2 là ngày cần tính đến (có thể dùng TODAY() để luôn lấy ngày hôm nay).

1. Cú pháp DATEDIF

• =DATEDIF(ngày_đầu; ngày_cuối; "đơn_vị")
• Ngày đầu phải nhỏ hơn hoặc bằng ngày cuối, nếu không sẽ báo lỗi #NUM!.
• "Y": số năm tròn; "M": số tháng tròn; "D": số ngày.
• "YM": số tháng lẻ sau khi bỏ năm tròn; "MD": số ngày lẻ sau khi bỏ tháng tròn; "YD": số ngày lẻ sau khi bỏ năm tròn.

2. Tính tuổi chính xác

• Tuổi đến hôm nay: =DATEDIF(B2;TODAY();"Y").
• Sinh ngày 15/03/1990, tính đến 05/11/2026: =DATEDIF(DATE(1990;3;15);DATE(2026;11;5);"Y") cho kết quả 36.
• Vì sao không dùng =YEAR(TODAY())-YEAR(B2)? Công thức này chỉ trừ năm, người sinh tháng 12 sẽ bị cộng thừa 1 tuổi khi chưa tới sinh nhật.

3. Thâm niên dạng "x năm y tháng z ngày"

• Ghép 3 đơn vị: =DATEDIF(B2;C2;"Y")&" năm "&DATEDIF(B2;C2;"YM")&" tháng "&DATEDIF(B2;C2;"MD")&" ngày".
• Vào làm 01/07/2019, tính đến 05/11/2026: kết quả 7 năm 4 tháng 4 ngày.
• Tổng số tháng công tác: =DATEDIF(B2;C2;"M") cho kết quả 88, tiện để xét nâng lương theo kỳ 36 tháng.

4. Ứng dụng khác

• Đếm ngược ngày sinh nhật tiếp theo: =365-DATEDIF(B2;TODAY();"YD") (gần đúng, lệch 1 ngày ở năm nhuận).
• Số tháng bảo hành đã dùng: =DATEDIF(ngày_mua;TODAY();"M"), kết hợp IF để cảnh báo khi vượt 12 tháng.
• Chỉ cần số năm có phần thập phân (ví dụ 7,35 năm): dùng =YEARFRAC(B2;C2;1).

5. Lỗi thường gặp

• Lỗi #NUM!: ngày đầu lớn hơn ngày cuối, kiểm tra lại thứ tự hai tham số.
• Lỗi #VALUE!: ngày nhập dạng chữ (lệch trái ô). Nhập bằng hàm DATE hoặc chuyển cột về dạng ngày.
• Đơn vị phải đặt trong dấu nháy kép, ví dụ "Y", không viết Y trơn.
• Kết quả hiện dạng ngày tháng: đổi ô sang định dạng General hoặc Number (Ctrl + 1).

Lời Kết

Chỉ với DATEDIF và 6 đơn vị "Y", "M", "D", "YM", "MD", "YD" là bạn tính được tuổi, thâm niên, thời hạn hợp đồng hay bảo hành mà không cần đếm lịch. Nếu máy dùng dấu phẩy làm dấu phân cách, thay ; bằng , trong công thức. Bạn đang dùng cách nào để tính thâm niên cho nhân viên? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

04/11/2026

Hàm NETWORKDAYS tính số ngày làm việc trong Excel | NETWORKDAYS, WORKDAY | AutoLISP Reviewer

Hàm NETWORKDAYS tính số ngày làm việc trong Excel

Tính ngày công chuẩn của tháng, đếm số ngày làm việc giữa hai mốc thời gian hay tính hạn chót "10 ngày làm việc kể từ ngày ký"? Nếu vẫn mở lịch ra đếm tay rồi trừ thứ 7, chủ nhật, ngày lễ thì rất dễ sai. Excel có sẵn bộ hàm NETWORKDAYS và WORKDAY làm việc này trong một công thức, tự bỏ qua ngày nghỉ cuối tuần và danh sách ngày lễ do bạn khai báo.

Ví dụ: cột B là Ngày bắt đầu, cột C là Ngày kết thúc, vùng H2:H10 là danh sách ngày nghỉ lễ trong năm (30/04, 01/05, 02/09...), mỗi ô một ngày.

1. Cú pháp NETWORKDAYS

• =NETWORKDAYS(ngày_bắt_đầu; ngày_kết_thúc; [ngày_lễ])
• Đếm số ngày từ thứ 2 đến thứ 6, tính cả ngày đầu và ngày cuối, bỏ qua thứ 7, chủ nhật.
• Tham số ngày_lễ không bắt buộc: chọn vùng chứa các ngày nghỉ lễ, Excel trừ thêm các ngày đó nếu rơi vào ngày thường.

2. Ví dụ hay dùng

• Số ngày làm việc giữa hai ngày: =NETWORKDAYS(B2;C2;$H$2:$H$10), nhớ cố định vùng ngày lễ bằng dấu $ trước khi kéo xuống.
• Ngày công chuẩn tháng 11/2026 (nghỉ thứ 7, chủ nhật): =NETWORKDAYS(DATE(2026;11;1);EOMONTH(DATE(2026;11;1);0)) cho kết quả 21.
• Tháng 4/2026 có ngày lễ 30/04 (thứ 5): =NETWORKDAYS(DATE(2026;4;1);DATE(2026;4;30);H2:H10) cho kết quả 21 thay vì 22.
• Số ngày làm việc còn lại đến hạn: =NETWORKDAYS(TODAY();C2;$H$2:$H$10).

3. Chỉ nghỉ chủ nhật: NETWORKDAYS.INTL

• Công ty làm cả thứ 7 thì dùng =NETWORKDAYS.INTL(ngày_đầu; ngày_cuối; 11; [ngày_lễ]), mã 11 nghĩa là chỉ nghỉ chủ nhật. Tháng 11/2026 khi đó có 25 ngày công.
• Mã 1 (mặc định): nghỉ thứ 7, chủ nhật; mã 17: chỉ nghỉ thứ 7.
• Lịch nghỉ đặc biệt thì dùng chuỗi 7 ký tự từ thứ 2 đến chủ nhật, số 1 là ngày nghỉ. Ví dụ nghỉ thứ 4 và chủ nhật: "0010001"; chỉ nghỉ chủ nhật: "0000001".

4. Tính ngày hết hạn bằng WORKDAY

• =WORKDAY(ngày_bắt_đầu; số_ngày; [ngày_lễ]) trả về ngày làm việc sau đúng số ngày yêu cầu, không tính ngày bắt đầu.
• Ký ngày 04/11/2026, hạn 10 ngày làm việc: =WORKDAY(DATE(2026;11;4);10) cho kết quả 18/11/2026.
• Bắt đầu 27/04/2026, 5 ngày làm việc, có lễ 30/04 và 01/05: =WORKDAY(DATE(2026;4;27);5;H2:H10) cho kết quả 06/05/2026.
• Chỉ nghỉ chủ nhật: dùng =WORKDAY.INTL(ngày_bắt_đầu; số_ngày; 11; [ngày_lễ]).

5. Lỗi thường gặp

• Kết quả ra số lạ như 46344 (thay vì 18/11/2026): ô đang định dạng General, chuyển sang định dạng ngày (Ctrl + 1 > Date) là xong.
• Lỗi #VALUE!: ngày nhập dạng chữ (lệch trái ô). Nên nhập bằng hàm DATE hoặc chuyển cột về dạng ngày trước.
• Ngày lễ không được trừ: danh sách ngày lễ cũng phải là dạng ngày, và đúng năm cần tính.
• Kết quả âm: ngày bắt đầu lớn hơn ngày kết thúc.

Lời Kết

NETWORKDAYS để đếm số ngày làm việc, WORKDAY để tính ngày hết hạn, thêm đuôi .INTL khi lịch nghỉ khác thứ 7, chủ nhật. Chỉ cần lập sẵn một bảng ngày lễ trong năm là dùng được cho cả bảng chấm công, tiến độ dự án và hạn hợp đồng. Nếu máy dùng dấu phẩy làm dấu phân cách, thay ; bằng , trong công thức. Công ty bạn đang nghỉ thứ 7 hay chỉ nghỉ chủ nhật? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

31/10/2026

Hàm COUNTIFS đếm theo nhiều điều kiện trong Excel | COUNTIFS, COUNTIF | AutoLISP Reviewer

Hàm COUNTIFS đếm theo nhiều điều kiện trong Excel

Cuối tháng cần biết phòng Kế toán có bao nhiêu người đi làm đủ công, bao nhiêu đơn hàng "Đã giao" trong tháng 10, hay bao nhiêu hóa đơn trên 5 triệu? Thay vì lọc rồi đếm tay, hàm COUNTIFS đếm số dòng thỏa mãn cùng lúc nhiều điều kiện, bảng thay đổi là kết quả tự cập nhật.

Ví dụ: cột B là Nhân viên, cột C là Phòng, cột D là Ngày, cột E là Số tiền, cột F là Trạng thái, dữ liệu từ dòng 2 đến dòng 500.

1. Cú pháp COUNTIFS

• =COUNTIFS(vùng_1; điều_kiện_1; vùng_2; điều_kiện_2; ...)
• Các vùng phải có cùng số dòng, ví dụ cùng là dòng 2 đến 500.
• Một dòng chỉ được đếm khi thỏa mãn tất cả điều kiện (quan hệ VÀ).

2. Đếm theo chữ và theo số

• Phòng Kế toán đã giao: =COUNTIFS(C2:C500;"Kế toán";F2:F500;"Đã giao")
• Hóa đơn từ 5 triệu trở lên: =COUNTIFS(E2:E500;">=5000000")
• Điều kiện lấy từ ô H1: =COUNTIFS(C2:C500;H1;E2:E500;">"&H2). Toán tử nằm trong ngoặc kép, nối với ô bằng dấu &.
• Chứa một từ: "*giao*"; ô khác trống: "<>"; ô trống: "".

3. Đếm theo khoảng ngày

• Số đơn trong tháng 10/2026: =COUNTIFS(D2:D500;">="&DATE(2026;10;1);D2:D500;"<="&EOMONTH(DATE(2026;10;1);0))
• Dùng cùng một cột hai lần để tạo khoảng "từ ngày... đến ngày...". Nên dùng hàm DATE thay vì gõ "1/10/2026" để không phụ thuộc định dạng ngày của máy.

4. Đếm "hoặc" và lỗi thường gặp

• Đếm Kế toán HOẶC Kỹ thuật: =SUM(COUNTIFS(C2:C500;{"Kế toán";"Kỹ thuật"}))
• Kết quả 0 dù có dữ liệu: kiểm tra dấu cách thừa trong ô (dùng TRIM), hoặc số đang lưu dạng Text.
• Lỗi #VALUE!: các vùng không cùng kích thước.

Lời Kết

COUNTIFS là "anh em" của SUMIFS: một hàm đếm, một hàm cộng, cùng cách viết điều kiện. Nắm được COUNTIFS là làm nhanh được các bảng thống kê chấm công, đơn hàng, hồ sơ. Nếu máy dùng dấu phẩy làm dấu phân cách, thay ; bằng , trong công thức. Bạn hay phải đếm theo những điều kiện nào? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

30/10/2026

Đánh số thứ tự tự động trong Excel | ROW, SUBTOTAL, SEQUENCE | AutoLISP Reviewer


Đánh số thứ tự tự động trong Excel

Cột STT có mặt trong gần như mọi bảng tính: danh sách nhân viên, bảng kê hàng hóa, bảng chấm công... Nhiều người vẫn gõ 1, 2 rồi kéo xuống, nhưng chỉ cần xóa một dòng, chèn thêm dòng hay lọc dữ liệu là số thứ tự bị nhảy, phải đánh lại từ đầu. Bài này hướng dẫn 4 cách đánh số thứ tự tự động bằng công thức, luôn liền mạch dù bảng thay đổi.

Ví dụ: cột A là STT, cột B là Họ tên, cột C là Phòng ban, dữ liệu bắt đầu từ dòng 2 (dòng 1 là tiêu đề).

1. Hàm ROW: tự đánh lại khi xóa dòng

• Tại A2 gõ =ROW()-1 rồi kéo xuống. ROW() trả về số dòng hiện tại, trừ 1 vì có 1 dòng tiêu đề.
• Xóa bất kỳ dòng nào, các số bên dưới tự dồn lên, không bị hụt số.
• Bảng bắt đầu ở dòng khác thì trừ đi số dòng phía trên, ví dụ bảng bắt đầu ở dòng 6 thì dùng =ROW()-5.

2. Hàm COUNTA: chỉ đánh số dòng có dữ liệu

• Tại A2: =IF(B2="";"";COUNTA($B$2:B2)). Ô Họ tên trống thì STT để trống, có tên thì đếm số tên từ đầu bảng đến dòng hiện tại.
• Kéo sẵn công thức xuống vài trăm dòng, nhập tên đến đâu số thứ tự hiện ra đến đó.
• Lưu ý dấu $: $B$2 cố định điểm đầu, B2 không cố định để vùng đếm dài dần khi kéo xuống.

3. Hàm SUBTOTAL: số thứ tự đúng cả khi lọc

• Tại A2: =SUBTOTAL(3;$B$2:B2). Số 3 nghĩa là đếm kiểu COUNTA nhưng bỏ qua các dòng bị ẩn do lọc.
• Lọc riêng phòng Kế toán, cột STT vẫn hiện 1, 2, 3... liền mạch, rất tiện khi in danh sách theo từng nhóm.
• Muốn bỏ qua cả dòng ẩn thủ công (Hide) thì dùng mã 103: =SUBTOTAL(103;$B$2:B2).
• Mẹo nhỏ: khi dùng SUBTOTAL ở cột STT, Excel đôi khi coi dòng cuối là dòng tổng và luôn hiển thị khi lọc. Nếu gặp, chuyển vùng dữ liệu thành Table (Ctrl + T) để khắc phục.

4. Hàm SEQUENCE: một công thức cho cả cột (Excel 365, 2021)

• Chỉ gõ tại A2: =SEQUENCE(COUNTA(B2:B1000)), Excel tự trải kết quả 1, 2, 3... xuống đủ số dòng có tên.
• Thêm tên mới ở cuối bảng, dãy số tự dài thêm, không cần kéo công thức.
• Lỗi #SPILL!: các ô bên dưới A2 đang có dữ liệu, xóa trống vùng đó là hết lỗi. Excel 2019 trở về trước chưa có hàm này, báo lỗi #NAME?.

Lời Kết

Tùy nhu cầu mà chọn cách phù hợp: ROW cho bảng đơn giản, COUNTA khi bảng còn đang nhập dở, SUBTOTAL khi hay lọc dữ liệu, và SEQUENCE nếu dùng Excel 365. Nếu máy dùng dấu phẩy làm dấu phân cách, thay ; bằng , trong công thức. Bạn đang dùng cách nào để đánh số thứ tự? Chia sẻ ở phần bình luận nhé.

• Tác giả: Group Thủ thuật Excel Word PowerPoint
• Chủ đề: Tin học văn phòng / Thủ thuật Excel

Hàm SUBTOTAL tính tổng khi lọc dữ liệu trong Excel | SUBTOTAL, AGGREGATE | AutoLISP Reviewer

Hàm SUBTOTAL tính tổng khi lọc dữ liệu trong Excel Lọc bảng bán hàng chỉ còn nhân viên An, nhưng ô tổng dùng =SUM(D2:D500) vẫn ra con số c...