Các hàm Excel 365

Ngày tạo 14/10/2022

 -  526 Lượt xem

1. Phương pháp 01: Sử dụng công thức Excel

Đầu tiên chỉ có 2 cột Year Month thì bạn chắc chắn sẽ không thể sử dụng công thức được. Việc đầu tiên bạn cần làm là chuyển giá trị trong cột A và cột B thành ngày tháng tương ứng. Để làm được việc này thì bạn sẽ sử dụng công thức như sau.

Ở đây tại sao lại sử dụng cách nối chuỗi và hàm DATEVALUE như vậy?

Ta sẽ bắt đầu từ trong ruột của nó trước.

Khi ta sử dụng

Thì kết quả trả về sẽ như sau

 

Với kết quả như trên thì việc bạn chuyển đổi các giá trị trên sang ngày tháng bằng hàm DATEVALUE là hoàn toàn được.

Tại sao như vậy nhỉ?

Vì Excel hoàn toàn hiểu các chữ Oct, Nov, Dec là tháng trong Excel.

Vì thế khi bạn sử dụng DATEVALUE sẽ chuyển các giá trị chữ ở trên thành ngày tháng trong Excel để có thể thao tác. Và đây là kết quả.

Giờ sau khi ta đã có ngày đầu tiên của mỗi tháng. Việc tiếp theo là xác định ngày Payment Schedule rơi vào ngày thứ 4 của tuần thứ 2 trong tháng.

Ở đây việc đầu tiên ta cần làm đó là phải tìm ra ngày thứ 2 thuộc tuần đầu tiên của mỗi tháng.

Bạn nên nhớ rằng ngày thứ 2 thuộc tuần đầu tiên của mỗi tháng không nhất thiết phải thuộc tháng hiện tại. Có thể ngày đầu tiên của tháng hiện tại là thứ 3 chẳng hạn thì ngày thứ 2 thuộc tuần đầu tiên của tháng hiện tại sẽ là ngày cuối cùng của tháng trước đó.

Để xác định ngày thứ 2 thuộc tuần đầu tiên của mỗi tháng ta sẽ sử dụng công thức sau.

Tại sao trong trường hợp này ta lại sử dụng WEEKDAY nhưng tham số lại là 3.

Ta sẽ xem xét tài liệu trên trang của Microsoft nhé.

Với việc sử dụng return_type = 3 thì kết quả trả về sẽ là 0 đến 6 (với 0 là thứ 2, 1 là thứ 3, … 6 là chủ nhật)

Vậy giả sử bạn lấy ngày 14/10/2022 là thứ 6. Khi bạn dùng WEEKDAY(14/10/2022,3) thì kết quả trả về sẽ là 4. Khi bạn lấy ngày 14/10/2022 – WEEKDAY(…) thì kết quả thu được sẽ là 10/10/2022 và bạn có thể tra lịch thì ngày 10/10/2022 chính là thứ 2.

Nói chung cách sử dụng ngày hiện tại trừ đi chính WEEKDAY của nó với return_type = 3 sẽ trả về kết quả là thứ 2 của tuần đó.

Vậy giờ ta muốn có thứ 4 thì làm thế nào?

Rất đơn giản, bạn hãy +2 vào là được.

Công thức của chúng ta hiện đang là.

Vậy giờ ta muốn lấy ra thứ 4 thuộc tuần thứ 2 của tháng thì thế nào?

Ta sẽ cộng thêm 2 tuần vào xem kết quả thế nào nhé

Và đây là kết quả.

Và ta sẽ thấy kết quả trả về có nhiều ngày > 14 ngày. Ví dụ như 16/11 hay 17/05 chẳng hạn.

Chỉ cần nhìn sơ qua bạn cũng có thể thấy những ngày này sẽ rơi vào tuần thứ 3 của tháng. Vì 16 và 17 sẽ lớn hơn 14 đúng không nào?

Vì thế trong các trường hợp này hay vì cộng thêm 14 thì ta sẽ chỉ cộng thêm 7 mà thôi.

Vậy thì bạn sẽ viết điều kiện như thế nào?

Đơn giản là bạn kiểm tra bằng hàm DAY. Nếu kết quả trả về > 14 thì bạn +7 thay vì +14 thôi.

Đây là công thức cuối cùng của mình.

Nhưng bạn thấy đấy công thức Excel có vẻ quá phức tạp đúng không?

Vậy liệu có cách xài hàm nào đơn giản hơn nữa không?

Lúc này là lúc mình sẽ tặng các bạn 2 hàm UDF (User Defined Function – Hàm người dùng tự tạo)

2. Phương pháp 02: Sử dụng hàm UDF (Hàm người dùng tự tạo)

Đây là Code thứ 1 mình đang sử dụng.

Để sử dụng hàm này trong Excel thì bạn chỉ cần import file xlam mình đính kèm ở cuối bài viết nhé.

Hàm này mình viết gồm 2 giá trị đầu vào.

Date_value: ngày đầu tháng hiện tại.

Weeknum: bạn muốn tìm thứ 4 của tuần thứ mấy thì nhập giá trị weeknum như vậy. Ví dụ bạn muốn tìm thứ 4 tuần thứ 2 thì nhập weeknum bằng 2 là được.

Đây là công thức mình sử dụng thực tế trên Excel.

Vậy nếu bạn muốn tìm thứ khác thì sao? Ví dụ thứ 3 hay thứ 5?

Bạn hãy thay đổi 2 dòng này nhé

Bạn chỉ cần đổi 4 (Thứ 4) thành thứ mà bạn muốn là được.

Ví dụ bạn muốn thứ 3 thì gõ = 3 nhé.

Đây là code thứ 2. Về cơ bản các tham số đầu vào cũng như trên.

Nếu bạn muốn sửa thành thứ khác thì sửa dòng này nhé.

Bạn chỉ cần sửa =4 thành =3 thay cho thứ 3 là được.

Đây là công thức mẫu trên File Excel đính kèm bài viết.

Và đây là kết quả cuối cùng.

 

Link download File đính kèm:

https://erx.vn/Media/File_Bai_Viet/Xac_Dinh_Ngay_Payment.xlsm

Link download kèm Addin:

https://erx.vn/Media/File_Bai_Viet/Payment_Schedule_Addin.xla

 
 
Gọi (028) 3514 2046