Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Khi làm việc với các tập dữ liệu lớn trong Excel thông qua công cụ Power Pivot hoặc Data Model, việc thực hiện phép chia là thao tác cực kỳ phổ biến. Tuy nhiên, nếu bạn chỉ sử dụng toán tử chia thông thường (/), bạn sẽ rất dễ gặp phải các lỗi chia cho 0 (Division by Zero – lỗi #INF/NaN hoặc #ERROR) làm hỏng toàn bộ bảng PivotTable của mình. Để giải quyết triệt để vấn đề này, Microsoft đã cung cấp hàm DIVIDE trong ngôn ngữ DAX.
Bài viết này, Starttrain sẽ hướng dẫn bạn chi tiết từ lý thuyết đến thực hành thực tế cách sử dụng hàm DIVIDE trong Excel Power Pivot chuẩn chuyên gia.
Hàm DIVIDE trong Excel không phải là một hàm bảng tính thông thường (như SUM, AVERAGE trên grid thông thường) mà là một hàm DAX được sử dụng trong môi trường Power Pivot và Power BI. Hàm này được thiết kế đặc biệt để thực hiện các phép chia một cách an toàn (thường được gọi là Safe Divide).
Cú pháp chuẩn của hàm DIVIDE trong DAX như sau:
DIVIDE(numerator, denominator, [alternateresult])
Giải thích các tham số
Hàm DIVIDE sẽ tự động kiểm tra giá trị của số chia (denominator). Nếu số chia bằng 0 hoặc là một giá trị trống (BLANK), thay vì trả về lỗi như toán tử / thông thường, hàm sẽ ngay lập tức trả về giá trị mà bạn đã thiết lập ở phần alternateresult. Điều này giúp báo cáo của bạn luôn sạch sẽ, chuyên nghiệp và không bị gián đoạn bởi các ô lỗi.
Nếu bạn mới bắt đầu, nên tìm hiểu trước về Data Model trong Excel và cách xây dựng Measure bằng DAX để dễ dàng áp dụng các hàm nâng cao như DIVIDE.
Trước khi bắt đầu viết các công thức (Measure), chúng ta cần hiểu cấu trúc dữ liệu được liên kết trong Power Pivot.
Như được hiển thị trong công cụ Diagram View của Power Pivot:

Từ mô hình dữ liệu trên, chúng ta đã xây dựng một PivotTable cơ bản hiển thị các chỉ số cốt lõi sau:

Bây giờ, chúng ta sẽ ứng dụng hàm DIVIDE để tính toán thêm 3 chỉ số hiệu suất quan trọng (KPIs): AOV, Orders per Customer và Sales per Customer.
Định nghĩa: AOV là số tiền trung bình mà khách hàng chi tiêu cho mỗi đơn hàng.
Các bước thực hiện chi tiết:

Kết quả thực tế:
Hệ thống tính toán cực kỳ nhanh chóng và hiển thị giá trị AOV trực tiếp trên PivotTable là 996.39. Phép tính này được thực hiện bằng cách lấy 44.837.769 chia cho 45.000. Nhờ tham số thứ ba là BLANK(), nếu hệ thống chưa phát sinh đơn hàng nào (Total Order bằng 0), ô kết quả sẽ tự động hiển thị khoảng trống thay vì báo lỗi.

Định nghĩa: Chỉ số này đo lường tần suất mua sắm của khách hàng, cho biết trung bình một khách hàng sẽ thực hiện bao nhiêu đơn hàng trong kỳ báo cáo.
Các bước thực hiện chi tiết:

Kết quả thực tế:
Chỉ số Orders per Customer xuất hiện trên bảng PivotTable là 2.16. Phép chia an toàn lấy 45.000 đơn hàng chia cho 20.836 khách hàng diễn ra suôn sẻ, cho thấy trung bình một khách hàng đã quay lại mua sắm hơn 2 lần trong mùa lễ.

Định nghĩa: Chỉ số này thể hiện giá trị trung bình mà một khách hàng đóng góp cho doanh nghiệp trong suốt chiến dịch.
Các bước thực hiện chi tiết:

Kết quả thực tế:
Trên PivotTable của chúng ta lúc này đã xuất hiện đầy đủ cả 3 chỉ số mới (Hình 8). Giá trị Sales per Customer đạt được là 2151.94 USD (Lấy tổng doanh thu 44.837.769 chia cho 20.836 khách hàng).

Nhiều người dùng Excel khi mới chuyển sang dùng Power Pivot hoặc Power BI thường thắc mắc: “Tại sao phải dùng hàm DIVIDE phức tạp trong khi tôi có thể dùng ký tự gạch chéo / để chia cho nhanh?”.
Để giải đáp thắc mắc này, hãy cùng xem bảng so sánh chi tiết dưới đây:
| Tiêu chí so sánh | Hàm DIVIDE (DAX) | Toán tử chia thông thường (/) |
| Xử lý lỗi chia cho 0 (Division by 0) | Cực tốt. Tự động trả về giá trị thay thế (mặc định là BLANK()) nếu mẫu số bằng 0. | Kém. Trả về mã lỗi hệ thống trực tiếp lên màn hình báo cáo (#INF hoặc lỗi tính toán). |
| Tính thẩm mỹ của báo cáo | Báo cáo luôn hiển thị sạch sẽ, chuyên nghiệp, không xuất hiện các lỗi gây nhiễu thị giác cho người xem. | Dễ xuất hiện các ô lỗi sọc đỏ/ký tự lạ khiến báo cáo trông thiếu chuyên nghiệp. |
| Hiệu năng xử lý (Performance) | Tối ưu hóa sâu. Bộ máy DAX Engine của Microsoft đã tối ưu hóa hàm DIVIDE để xử lý hàng triệu dòng dữ liệu cực nhanh mà không làm chậm hệ thống. | Để tránh lỗi, bạn thường phải bọc toán tử / trong hàm IF hoặc IFERROR. Cách này bắt buộc hệ thống phải quét dữ liệu 2 lần, làm giảm hiệu năng đáng kể đối với dữ liệu lớn. |
| Sự tiện lợi khi viết mã | Công thức ngắn gọn: DIVIDE(A, B). | Công thức cồng kềnh nếu muốn bọc lỗi: IF(B = 0, BLANK(), A / B). |
Mặc dù toán tử / có tốc độ gõ nhanh hơn một chút, nhưng trong mọi dự án phân tích dữ liệu thực tế chuyên nghiệp, hàm DIVIDE luôn là lựa chọn hàng đầu được khuyến nghị. Nó giúp bạn tiết kiệm thời gian gõ các hàm bọc lỗi phức tạp, bảo vệ báo cáo khỏi những lỗi hiển thị không đáng có và tối ưu hiệu suất tính toán của CPU trên các tệp dữ liệu lớn lên đến hàng triệu bản ghi.
Qua bài viết này, chúng ta đã cùng nhau tìm hiểu sâu về bản chất, cú pháp và cách ứng dụng thực tế của hàm DIVIDE trong Excel nhằm tối ưu hóa các mô hình dữ liệu lớn. Việc sử dụng hàm DIVIDE DAX trong Power Pivot không chỉ giúp bạn xử lý triệt để lỗi chia cho 0 Excel vốn rất phiền toái, mà còn là giải pháp hàng đầu để duy trì tính thẩm mỹ và chuyên nghiệp cho mọi báo cáo phân tích kinh doanh.
So với việc lạm dụng toán tử chia trong DAX kết hợp với các hàm bọc lỗi cồng kềnh, hàm DIVIDE mang lại khả năng vận hành mượt mà và tối ưu hiệu năng tính toán vượt trội trên hệ thống.
Tham khảo thêm: Khóa học phân tích dữ liệu bằng Excel tại Starttrain

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official
Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.




