1. Công Thức Là Gì
Công thức là cách nói với LarkBase rằng: nếu có dữ liệu đầu vào như thế này, hãy tự tính ra kết quả như thế kia.
Nếu có dữ liệu đầu vào như thế này, hãy tự tính ra kết quả như thế kia.
Ví dụ ngoài đời:
Tiền phải trả = Số lượng mua * Đơn giá
Tiền phải trả = 3 * 25.000 = 75.000
Trong LarkBase, thay vì nhân bằng tay từng dòng, ta tạo một cột công thức. Khi nhập Số lượng và Đơn giá, LarkBase tự tính Thành tiền.
1.1. Công thức khác gì với nhập tay
| Nhập tay | Công thức |
|---|---|
| Người dùng tự gõ kết quả | Hệ thống tự tính kết quả |
| Dễ sai nếu quên cập nhật | Tự cập nhật khi dữ liệu đầu vào đổi |
| Mỗi dòng phải nhập lại | Một công thức áp dụng cho nhiều dòng |
| Phù hợp với ghi chú, mô tả | Phù hợp với tính tiền, trạng thái, cảnh báo, báo cáo |
1.2. Công thức nên dùng khi nào
Dùng công thức khi kết quả có thể suy ra từ dữ liệu khác, ví dụ tính Thành tiền, Lợi nhuận, Số phút đi trễ, trạng thái tồn kho hoặc trạng thái deadline.
Không nên dùng công thức cho thông tin người dùng phải nhập từ thực tế như tên khách hàng, ghi chú, hình ảnh hóa đơn, số điện thoại, lý do phát sinh chi phí.
Tổng lương = Số giờ làm * Lương theo giờ nên là công thức. Cột Tên nhân viên và Ghi chú của quản lý nên nhập tay hoặc chọn từ danh sách.2. Trước Khi Học Công Thức: Phải Hiểu Kiểu Dữ Liệu
Muốn viết công thức đúng, phải biết dữ liệu đầu vào thuộc kiểu gì. Sai kiểu dữ liệu là lý do phổ biến khiến công thức sai.
10 + 20 = 30
"10" + "20" có thể bị hiểu là chữ, không phải số
Vì vậy cần phân biệt số, chữ, ngày giờ, lựa chọn, checkbox, liên kết bảng và lookup.
3. Các Kiểu Dữ Liệu Cơ Bản Trong LarkBase
3.1. Dữ liệu dạng chữ
Dữ liệu dạng chữ là văn bản như tên khách, số điện thoại, mã đơn, ghi chú, tình trạng thanh toán.
"Đã thanh toán"
IF(Tình trạng thanh toán = "Đã thanh toán", "Đã thu tiền", "Chưa đủ tiền")
Đã thanh toán khác Đã Thanh Toán và khác Da thanh toan.3.2. Dữ liệu dạng số
Dữ liệu dạng số dùng để tính toán: số lượng, đơn giá, doanh thu, chi phí, số giờ làm, phần trăm.
Thành tiền = Số lượng * Đơn giá
Giá trị tồn = Số lượng tồn * Giá vốn
Lợi nhuận sản phẩm = Doanh thu sản phẩm - Tổng chi phí
Không nên nhập số tiền dưới dạng chữ như 25k nếu cần tính toán. Nên nhập 25000, sau đó định dạng hiển thị thành tiền.
3.3. Dữ liệu dạng ngày giờ
Dữ liệu ngày giờ dùng cho booking, chấm công, deadline, bảo dưỡng, báo cáo tháng.
Số giờ ở = (Check out - Check in) * 24
Số phút = (Giờ kết thúc - Giờ bắt đầu) * 24 * 60
Vì chênh lệch giữa 2 ngày thường được tính theo đơn vị ngày, muốn đổi sang giờ thì nhân 24, muốn đổi sang phút thì nhân thêm 60.
3.4. Dữ liệu dạng lựa chọn
Dữ liệu lựa chọn là các giá trị có sẵn để người dùng chọn, ví dụ Đã thanh toán, Hoàn thành, NV Part, Giai đoạn 1.
IF(Chức vụ = "Quản lý", 8000, 0)
Nên dùng lựa chọn thay vì để người dùng tự gõ chữ, vì mỗi người có thể nhập khác nhau.
3.5. Dữ liệu dạng checkbox
Checkbox là ô tích chọn đúng/sai, thường dùng để tính thưởng hoặc xác nhận điều kiện.
IF(Đạt QA-QC, 200, 0)
IF(Đủ chuyên cần, 100, 0)
3.6. Dữ liệu liên kết bảng và lookup
Trong LarkBase, một bảng có thể liên kết với bảng khác. Ví dụ booking liên kết với khách hàng, bảng lương liên kết với nhân viên, phiếu nhập hàng liên kết với sản phẩm.
Tổng doanh thu tháng = Cộng tất cả booking trong tháng đã thanh toán
Tổng chi tháng = Cộng tất cả phiếu chi có Tháng = tháng hiện tại
Đây là kiểu công thức khó hơn vì dữ liệu không chỉ nằm trong một dòng hiện tại, mà nằm ở nhiều dòng khác.
4. Các Hàm Cơ Bản Cần Biết
4.1. Cộng, trừ, nhân, chia
- + là cộng
- - là trừ
- * là nhân
- / là chia
Thành tiền = Số lượng * Đơn giá
Còn lại = Tổng bill - Đã thu
Lợi nhuận = Doanh thu - Chi phí
Biên lợi nhuận = Lợi nhuận / Doanh thu
4.2. Hàm IF
IF dùng khi có 1 điều kiện chính.
IF(điều kiện, kết quả nếu đúng, kết quả nếu sai)
IF(Tồn kho <= 0, "Hết hàng", "Còn hàng")
Cách đọc: nếu tồn kho nhỏ hơn hoặc bằng 0 thì báo hết hàng. Nếu không thì báo còn hàng.
4.3. Hàm IFS
IFS dùng khi có nhiều điều kiện. Thứ tự điều kiện rất quan trọng.
IFS(
Tồn kho <= 0, "Hết hàng",
Tồn kho <= Tồn tối thiểu, "Sắp hết",
TRUE, "Đủ hàng"
)
Nếu tồn kho bằng 0 hoặc âm thì hết hàng; nếu còn nhưng thấp hơn mức tối thiểu thì sắp hết; các trường hợp còn lại là đủ hàng.
4.4. Hàm TEXT
TEXT dùng để đổi ngày hoặc số thành dạng hiển thị dễ đọc.
TEXT(Ngày, "YYYY-MM")
TEXT(Ngày, "YYYY")
TEXT(Ngày, "DD/MM")
4.5. Hàm TODAY() và NOW()
TODAY()là ngày hôm nay.NOW()là thời điểm hiện tại, gồm cả giờ phút.
IF(NOW() > Deadline, "Quá hạn", "Còn hạn")
4.6. Hàm FILTER
FILTER dùng để tìm các dòng phù hợp điều kiện trong một bảng.
Doanh thu tháng = Lọc booking đã thanh toán trong tháng, rồi cộng Tổng bill
Sau khi lọc, thường kết hợp với SUM(), COUNTA(), FIRST(), LAST(), MIN(), MAX().
| Booking | Tháng | Trạng thái | Tổng bill |
|---|---|---|---|
| A | 2026-05 | Đã thanh toán | 500.000 |
| B | 2026-05 | Chưa thanh toán | 300.000 |
| C | 2026-05 | Đã thanh toán | 700.000 |
| D | 2026-04 | Đã thanh toán | 900.000 |
Doanh thu tháng 2026-05 chỉ với booking đã thanh toán là 1.200.000.
4.7. Hàm IFERROR
IFERROR dùng để tránh lỗi khi công thức không tính được.
IFERROR(Lợi nhuận / Doanh thu, 0)
Nếu doanh thu bằng 0, phép chia sẽ lỗi. IFERROR giúp trả về 0 thay vì hiện lỗi.
4.8. Hàm HYPERLINK
HYPERLINK dùng để tạo link bấm được, ví dụ link xin ý kiến, link chấm công, link nhận việc dọn phòng, link báo cáo.
5. Cách Đọc Công Thức Theo Từng Bước
- Tìm tên cột công thức.
- Xem công thức đang lấy dữ liệu từ những cột nào.
- Xác định công thức có điều kiện không:
IF,IFS. - Xác định công thức có tính toán số không:
+,-,*,/. - Xác định công thức có xử lý ngày giờ không:
TEXT,TODAY,NOW. - Viết lại bằng lời:
Nếu ... thì ... ngược lại ....
IF(Tồn kho <= 0, "Hết hàng", "Còn hàng")
Viết lại bằng lời: nếu số lượng tồn nhỏ hơn hoặc bằng 0 thì báo hết hàng. Nếu không thì báo còn hàng.
IF(Đã thu >= Tổng bill, "Đã thanh toán", "Còn phải thu") nghĩa là nếu số tiền đã thu lớn hơn hoặc bằng tổng bill thì hiện đã thanh toán; nếu chưa đủ thì hiện còn phải thu.6. Nhóm Công Thức Trong Base Choco
6.1. Booking và phòng
- Biết phòng đang có khách hay đang trống.
- Biết booking tiếp theo của phòng.
- Biết check in, check out, set đồ ăn.
- Tính tổng bill, số ngày ở, số giờ ở.
Nếu có booking đang nằm trong thời gian hiện tại -> Phòng đang có khách
Nếu không có booking hiện tại -> Phòng đang trống
6.2. Dọn phòng và QC
- Biết phòng nào cần dọn.
- Theo dõi đã dọn/chưa dọn.
- Ghi nhận kết quả QC.
- Tính thời gian dọn phòng.
Thời gian dọn = (Thời gian hoàn thành - Thời gian bắt đầu) * 24 * 60
6.3. Tài chính, quỹ và P&L
- Tính tổng chi.
- Tính doanh thu.
- Tính lợi nhuận.
- Theo dõi quỹ còn lại.
- Cảnh báo sắp hết quỹ.
Còn lại = Số dư đầu kỳ + Tổng nhận - Tổng chuyển - Tổng chi
6.4. Chấm công và lương
- Tính giờ làm.
- Tính đi trễ/về sớm.
- Tính tăng ca.
- Tính tổng lương và thực nhận.
Tổng lương = Lương cứng + Thưởng - Ứng lương - Bảo hiểm
6.5. Kho và tồn kho
- Tính số lượng tồn.
- Tính giá trị tồn.
- Cảnh báo hết hàng/sắp hết.
Tồn kho = Tồn đầu kỳ + Tổng nhập - Tổng xuất + Cân kho
7. Nhóm Công Thức Trong Base Mixue
7.1. Lịch làm việc và chấm công
- Đổi ca làm như
8h-17hthành giờ check in/check out. - Tính số phút đi trễ.
- Tính số phút về sớm.
- Xác định nhân viên đang làm việc hay chưa check in.
8h-17h, không nên lúc thì 8:00-17:00, lúc thì 8h đến 17h.7.2. Bảng lương
- Tính lương theo chức vụ.
- Tính lương theo giai đoạn.
- Tính phụ cấp, thưởng, phạt, ứng lương.
- Tính thực nhận hàng tháng.
Thực nhận = Lương cơ bản + Phụ cấp + Thưởng - Ứng lương - Phạt
7.3. Chấm điểm nhân viên
- Chấm điểm kỷ luật.
- Chấm điểm hiệu suất.
- Chấm điểm vệ sinh.
- Chấm điểm thái độ.
- Tính tổng điểm.
Nếu Đi làm đúng giờ = Có -> cộng điểm đạt
Nếu không -> lấy điểm không đạt
Điểm thái độ trong báo cáo đang cộng Điểm bị nhắc thái độ hai lần. Nên xác nhận đây là chủ ý hay lỗi.7.4. Sổ thu chi
- Tính tổng doanh thu.
- Tính tổng chi.
- Tính lợi nhuận.
- Đối chiếu tiền mặt phải có với tiền mặt thực tế.
- Kiểm tra rút tiền thiếu/thừa/khớp.
Âm dương = Tiền mặt thực tế - Tiền mặt phải có
7.5. Kho và nguyên vật liệu
- Tính nguyên liệu tồn.
- Quy đổi nguyên liệu sang đơn vị chuẩn.
- Tính giá trị nguyên liệu tiêu thụ.
- Kiểm tra lệch số lượng và giá trị.
- Cảnh báo hạn sử dụng.
Giá trị tiêu thụ = Số lượng tiêu thụ * Giá vốn
8. Các Lỗi Thường Gặp Khi Viết Công Thức
8.1. Chia cho 0
Lợi nhuận / Doanh thu
IFERROR(Lợi nhuận / Doanh thu, 0)
8.2. Dữ liệu rỗng
Nếu chưa nhập Check in, công thức tính số ngày ở có thể sai.
IF(Check in = "", "", TEXT(Check in, "YYYY-MM"))
8.3. Nhập sai định dạng
Ví dụ ca làm cần nhập 8h-17h, nhưng người dùng nhập 8:00 đến 17:00. Công thức tách giờ có thể không đọc được.
8.4. Sai thứ tự điều kiện
Nên đặt điều kiện chi tiết hơn lên trước.
IFS(
Điểm >= 90, "Xuất sắc",
Điểm >= 50, "Đạt"
)
9. Quy Trình An Toàn Khi Sửa Công Thức
- Đọc công thức cũ và viết lại bằng lời.
- Ghi ra các cột đầu vào mà công thức đang dùng.
- Tạo một cột test, không sửa ngay cột đang chạy.
- Test với dữ liệu bình thường.
- Test với dữ liệu rỗng.
- Test với số 0.
- Test với trạng thái nhập sai hoặc trường hợp đặc biệt.
- So sánh kết quả cột test với cách tính tay.
- Sau khi chắc chắn đúng mới thay công thức chính.
10. Lộ Trình Học 5 Buổi Cho Người Mới
| Buổi | Học gì | Thực hành |
|---|---|---|
| Buổi 1 | Chữ, số, ngày giờ, lựa chọn, checkbox; cộng, trừ, nhân, chia | Tạo Thành tiền và Lợi nhuận |
| Buổi 2 | Hàm IF | Tạo Đạt/Chưa đạt, Hết hàng/Còn hàng |
| Buổi 3 | Hàm IFS và thứ tự điều kiện | Tạo trạng thái Hết hàng, Sắp hết, Đủ hàng |
| Buổi 4 | Ngày giờ: TEXT, TODAY, NOW | Tạo cột Tháng, Số phút đi trễ |
| Buổi 5 | Lọc và tổng hợp: FILTER, SUM, COUNTA | Tính doanh thu tháng, tổng chi tháng, số lần đi trễ |
11. Nên Đọc File Nào Tiếp Theo
Nếu muốn xem toàn bộ danh sách công thức:
scans/formula-fields-report.md
Nếu chỉ xem Choco:
scans/V4CKb6FSkaNYYTsByhajBbFpphg/formula-report.md
Nếu chỉ xem Mixue:
scans/Q1BJbe1r0aAjresxfcfjtqLUpEe/formula-report.md
Khi đọc báo cáo chi tiết, nên đọc theo thứ tự: tên Base, tên bảng, tên field công thức, công thức gốc, field phụ thuộc, giải thích nghiệp vụ.