25/05/2018, 23:26

Tìm doanh thu bán hàng ngày cuối cùng trong tháng

Trong bài về Tìm doanh thu bán hàng ngày đầu tiên trong tháng , chúng ta đã tìm hiểu về cách sử dụng hàm INDEX+MATCH để xác định được doanh thu của ngày đầu tiên có doanh thu trong tháng với mỗi nhân viên. Hẳn bạn sẽ thắc mắc: thì làm thế nào, nếu như thời điểm ngày cuối cùng có doanh thu của các ...

Trong bài về Tìm doanh thu bán hàng ngày đầu tiên trong tháng , chúng ta đã tìm hiểu về cách sử dụng hàm INDEX+MATCH để xác định được doanh thu của ngày đầu tiên có doanh thu trong tháng với mỗi nhân viên. Hẳn bạn sẽ thắc mắc: thì làm thế nào, nếu như thời điểm ngày cuối cùng có doanh thu của các nhân viên là khác nhau? Chúng ta sẽ cùng nhau tìm câu trả lời cho yêu cầu này thông qua ví dụ:

Bảng báo cáo doanh số bán hàng của các nhân viên 10 ngày đầu tháng 8 như sau:

Thời điểm ngày cuối có phát sinh doanh thu của các nhân viên là:

  • Nhân viên A: Ngày 08/08, doanh thu = 16
  • Nhân viên B: Ngày 10/8, doanh thu = 66
  • Nhân viên C: Ngày 09/08, doanh thu = 93

Phương pháp để tìm giá trị cuối cùng sẽ không sử dụng INDEX + MATCH mà chúng ta sẽ tìm hiểu cách sử dụng hàm LOOKUP

Bạn có nghĩ rằng LOOKUP làm được điều này? Hãy cùng xem tại sao có thể ứng dụng được hàm LOOKUP nhé:

Để tìm hiểu cấu trúc của hàm LOOKUP, bạn có thể xem lại bài viết: Cách sử dụng hàm LOOKUP

Ở đây chúng ta khai thác một thủ thuật của hàm LOOKUP đó là:

Với giá trị tìm kiếm (lookup_value) luôn lớn hơn Véc tơ chứa giá trị tìm kiếm thì kết quả trả về luôn là giá trị cuối cùng trong Véc tơ chứa kết quả trả về.

Vậy bí quyết ở chỗ chúng ta chỉ cần thiết lập công thức LOOKUP trong vùng B2:B11 sao cho giá trị tìm kiếm luôn lớn hơn mỗi giá trị trong Véc tơ chứa giá trị tìm kiếm.

Véc tơ chứa giá trị tìm kiếm với nhân viên A là vùng B2:B11. Véc tơ chứa kết quả trả về cũng là vùng B2:B11, nhưng để tránh việc có các giá trị rỗng, chúng ta sẽ xét với B2:B11<>””

Tuy nhiên nếu chỉ xét các giá trị TRUE/FALSE thì không thể đối chiếu được với Giá trị tìm kiếm cụ thể nào đó, do vậy chúng ta sẽ chuyển các giá trị TRUE/FALSE về dạng số bằng cách lấy 1 chia cho điều kiện TRUE/FALSE.

  • Với các giá trị TRUE sẽ ra kết quả là 1 (TRUE được quy ước là 1)
  • Với các giá trị FALSE sẽ ra kết quả là #DIV/0! là phép chia cho mẫu số = 0 (FALSE được quy ước là 0)

Khi đó ta có các giá trị Doanh thu bán hàng sẽ tương ứng với các kết quả là 1

Vậy chỉ cần đặt giá trị tìm kiếm lớn hơn 1 là ta sẽ luôn có kết quả của hàm LOOKUP là giá trị cuối cùng trong Véc tơ chứa kết quả trả về (B2:B11)

Hàm LOOKUP được viết như sau:

=LOOKUP(2,1/(B2:B11<>””),B2:B11)

Kết quả như sau:

Kết quả thu được đã đúng như yêu cầu.

* Lưu ý: Hàm LOOKUP là hàm cho phép sử dụng mảng nên chúng ta không cần sử dụng Ctrl+Shift+Enter để kết thúc công thức về dạng mảng. Chỉ cần sử dụng LOOKUP như công thức bình thường là được.

Áp dụng tương tự với các nhân viên B, C chúng ta có kết quả như sau:

0