Kết quả bạn sẽ xây dựng

Xây một bảng theo dõi hóa đơn nhỏ có Balance và Status tự tính từ Amount, Paid và Due. Bài dùng dữ liệu giả nên bạn có thể làm lại toàn bộ thao tác mà không dùng thông tin khách hàng thật.

Mục tiêu học tập

Dùng hai công thức mảng tràn để tính số dư còn lại và đánh dấu hóa đơn quá hạn, hiểu cách các vùng cùng kích thước được căn theo từng hàng và kiểm tra kết quả khi Paid thay đổi.

Chuẩn bị dữ liệu mẫu

Mở workbook nguồn chính xác bên dưới và tạo bản sao để thực hành. Tab Example có dữ liệu mẫu Invoice, Customer, Amount, Paid và Due. Workbook nguồn còn giữ các cột minh họa từ lần chuẩn bị trước; trên bản sao, hãy làm sạch vùng F:H theo Bước 1 trước khi nhập công thức mới.

HANDS-ON PRACTICE

Thực hành trên bản sao của riêng bạn

Mở bản mẫu Google Sheets để tạo bản sao giữ nguyên dữ liệu, công thức, định dạng, bộ lọc và hàng cố định. Bản gốc không bị thay đổi.

Bạn cần đăng nhập Google; nếu bản gốc chưa được chia sẻ công khai, hãy tải bảng mẫu đầy đủ rồi nhập vào Google Sheets, hoặc dán dữ liệu vào trang tính của bạn.

Workbook nguồn Invoice tracker trong Google Sheets với tab Example và toàn bộ dữ liệu hóa đơn mẫu đang hiển thị.

Mở đúng workbook nguồn trong Google Sheets ↗

Thực hành từng bước

Bước 1: Trên bản sao, giữ A:E làm dữ liệu nguồn. Xóa nội dung F2:H4, xóa tiêu đề cũ ở G1:H1, giữ F1 là Balance và nhập Status vào G1. Kết quả là bảng A:G sẵn sàng cho hai công thức mới.

Workbook _result sau khi làm sạch vùng công thức, với Balance ở F1, Status ở G1 và F2:G4 đang trống.

Bước 2: Chọn F2 và nhập công thức Balance bên dưới đúng một lần. Kết quả tự tràn xuống F2:F4; không kéo chốt điền và không copy công thức xuống các hàng dưới.

Công thức Balance

=ARRAYFORMULA(C2:C4-D2:D4)
Workbook _result với F2 được chọn, thanh công thức hiển thị ARRAYFORMULA(C2:C4-D2:D4) và Balance tràn thành 0, 240, 220.

Bước 3: Chọn G2 và nhập công thức Status bên dưới đúng một lần. Kết quả tự tràn xuống G2:G4; không kéo chốt điền và không copy công thức xuống.

Công thức Status

=ARRAYFORMULA(IF((F2:F4>0)*ISNUMBER(E2:E4)*(E2:E4<TODAY()),"Overdue",""))
Workbook _result với G2 được chọn, thanh công thức hiển thị công thức ARRAYFORMULA đầy đủ và chỉ hóa đơn I-03 hiển thị Overdue.

Điểm kiểm tra

InvoiceCustomerAmountPaidDueBalanceStatus
I-01Acme Demo5005002026-09-200
I-02North Demo3401002026-10-05240
I-03River Demo22002026-09-25220Overdue

Trạng thái Overdue phụ thuộc TODAY tại thời điểm tính. Trong lần audit này, I-03 là hóa đơn duy nhất thỏa đồng thời Balance > 0, Due hợp lệ và Due trước TODAY.

Lỗi thường gặp và cách xử lý

Nếu Status không đúng, kiểm tra Paid có phải số, Due có phải ngày thực và vùng của cả ba điều kiện có cùng số hàng hay không. TODAY cũng khiến kết quả thay đổi theo ngày tính toán.

Bài tập tự thực hành

Đổi tạm D4 từ 0 thành 220. Xác nhận F4 đổi từ 220 thành 0 và G4 từ Overdue thành trống; sau đó khôi phục D4 về 0 và kiểm tra cả hai kết quả trở lại trạng thái ban đầu.

Tóm tắt kiến thức

  • ✓Balance được tính từ Amount trừ Paid theo từng hàng.
  • ✓Một ARRAYFORMULA tại F2 tạo toàn bộ Balance 0, 240 và 220.
  • ✓Status chỉ là Overdue khi Balance còn dương, Due là ngày hợp lệ và Due đã trước TODAY.
  • ✓Một ARRAYFORMULA tại G2 tạo cả ba Status nên không cần kéo hoặc copy công thức xuống.
  • ✓Thay đổi Paid sẽ tự cập nhật cả Balance và Status; với dữ liệu đã khôi phục, chỉ I-03 là Overdue.
QUICK CHECK

Tự kiểm tra kiến thức

Trả lời 4 câu hỏi dựa trên bảng tính vừa thực hành.

1. Balance của I-02 là bao nhiêu?
2. Vì sao I-01 không có Status Overdue?
3. Công thức Balance cần được nhập ở đâu?
4. Điều gì xảy ra khi Paid của I-03 đổi từ 0 thành 220?

Bài học tiếp theo

Bài trước: Mẫu CRM đơn giản. Bài tiếp: Mẫu tiến độ dự án.