Tính ngày CHAY và ngày MẶN

Liên hệ QC
Trong bài #28 bạn viết

Tôi hiểu là bạn có hàm nhận ngày tháng dương lịch và trả về âm lịch. Tức bạn không dùng TEXT nữa, tức là bạn đã khắc phục rồi còn gì. Tại sao bạn còn hỏi cách khắc phục?

Đã có ngày âm lịch do hàm tự tạo trả về thì viết công thức dùng hàm đó để trả về CHAY, MAN thôi. Hoặc nhờ ai đó viết hộ công thức dùng hàm tự tạo để trả về CHAY, MAN. Nhờ rồi thì kiên nhẫn chờ thôi.

Việc xác định ngày âm đã làm được nhờ code trong bài #28 thì việc còn lại là viết công thức cho CHAY, MAN. Không còn phải khắc phục cái lỗi sai gì nữa.
Dạ, Em chỉ trả lời lại bài viết của anh 87kilua , chứ ngoài ra em cũng chờ sự hỗ trợ để hoàn thiện file báo cáo anh ạ.
 
Dạ, Em chỉ trả lời lại bài viết của anh 87kilua , chứ ngoài ra em cũng chờ sự hỗ trợ để hoàn thiện file báo cáo anh ạ.
1. Module1 là Module mà bạn sưu tầm.

2. Tôi sửa lại hàm TransLu vì rõ ràng sai. Trong hàm có Call lunar(m, d, y), nhưng lunar nhận 3 tham số theo thứ tự d, m, y. Vậy phải là Call lunar(d, m, y). Trong hàm TransLu1 có đúng theo thứ tự d, m, y vì là Call lunar(Day(NT), Month(NT), Year(NT))

3. Tôi không kiểm tra code trong Module1 ngoài điểm 2. Tôi không đảm bảo code Module1 là đúng. Đây là Module mà bạn sưu tầm, không phải là của tôi.

4. Tôi viết thêm hàm IsLu30 để dùng trong vấn đề của bạn. Nếu không có nó thì công thức phức tạp hơn. Đã viết code thì sao lại phải viết công thức phức tạp hơn, đúng không? Hãy đọc chú thích của tôi trong hàm để hiểu nó làm gì.

Giả thiết là code Module1 là đúng. Ta sử dụng 2 hàm TransLu1 và IsLu30 để viết công thức trong B:H7
 

File đính kèm

1. Module1 là Module mà bạn sưu tầm.

2. Tôi sửa lại hàm TransLu vì rõ ràng sai. Trong hàm có Call lunar(m, d, y), nhưng lunar nhận 3 tham số theo thứ tự d, m, y. Vậy phải là Call lunar(d, m, y). Trong hàm TransLu1 có đúng theo thứ tự d, m, y vì là Call lunar(Day(NT), Month(NT), Year(NT))

3. Tôi không kiểm tra code trong Module1 ngoài điểm 2. Tôi không đảm bảo code Module1 là đúng. Đây là Module mà bạn sưu tầm, không phải là của tôi.

4. Tôi viết thêm hàm IsLu30 để dùng trong vấn đề của bạn. Nếu không có nó thì công thức phức tạp hơn. Đã viết code thì sao lại phải viết công thức phức tạp hơn, đúng không? Hãy đọc chú thích của tôi trong hàm để hiểu nó làm gì.

Giả thiết là code Module1 là đúng. Ta sử dụng 2 hàm TransLu1 và IsLu30 để viết công thức trong B:H7
Dạ chân thành cảm ơn anh đã hỗ trợ giúp đỡ em ạ.
Nếu vậy thì em phải chỉnh lại ngày giờ hệ thống dd/mm/yyyy
 
Lần chỉnh sửa cuối:
Mình định dạng MM/dd/yyyy, tức là ngày 03 tháng 09 năm 2022 thì kết quả sẽ sai. nên phải định dạng lại thành dd/mm/yyyy thì mới đúng theo công thức của anh Batman1
Định dạng mm/dd/yyy đâu có liên quan đến ngày âm lịch sai.
1661310397386.png
 
Dạ chân thành cảm ơn anh đã hỗ trợ giúp đỡ em ạ.
Nếu vậy thì em phải chỉnh lại ngày giờ hệ thống dd/mm/yyyy
mình chỉ nhập vào 1 ngày đầu tuần thôi, còn những ngày sao là mình +1 lên. Mình thử thì bị vấn đề như vậy.
bạn nhập là ngày 09 tháng 03. còn của mình là ngày 03 tháng 9.
Trong Control Panel bạn muốn thiết lập thế nào cũng được. Miễn là khi nhập ngày tháng bạn phải nhập thật chuẩn, tức phải theo đúng thứ tự như trong CP.

1. Bạn có thể thiết lập trong CP là mm/dd/yyyy nhưng khi mang sang máy tôi với thiết lập dd.mm.yyyy thì vẫn chạy chuẩn. Ngày tháng bạn nhập bạn đã nhập sẽ được Excel chuẩn sang dạng trên máy tôi và hiển thị. Bạn thiết lập trong CP thế nào cũng được miễn là bạn nhập ngày tháng chuẩn. Vd. bạn có trong CP mm/dd/yyyy, khi muốn nhập ngày mồng 3 tháng ̣9 năm 2022 thì bạn phải gõ 9, /, 3, /, 2, 0, 2, 2. Trong ô bạn sẽ thấy 09/03/2022

2. Khi bạn đã gõ chuẩn thì Excel sẽ ghi nhớ ngày tháng chuẩn. Ngày tháng ấy bạn có thể định dạng khác với General theo muôn vàn cách. Vd. trong CP là mm/dd/yyyy nhưng trong ô bạn lại định dạng custom là dd/mm/yyyy. Lúc đó trong ô bạn nhìn thấy 03/09/2022 (do Format Cell), nhưng khi chọn ô thì trên thanh công thức bạn nhìn thấy 09/03/2022 (do thiết lập trong CP).
Cái Format cell có thể có muôn vàn bộ mặt. Bạn có thể Format cells để thành: "Ngày mai em đi, mồng 3, biển nhớ tên em gọi về vào tháng 9 năm 2022". Khi nhập ngày tháng phải gõ theo thứ tự như trong CP. Còn khi định dạng ô thì muốn định dạng thế no cũng được.

Dù thiết lập trong CP hay Format cells thế nào thì ngày âm lịch luôn được tính cho ngày được hiển thị trên thanh công thức khi ô được chọn. Thế thôi. Việc thiết lập trong CP tùy lựa chọn. Chỉ phải nhập thật chuẩn. Không thể thiết lập mm/dd/yyyy mà khi muốn có mồng 3 tháng ̣9 năm 2022 thì lại gõ 03/09/2022. Với thiết lập như thế thì phải gõ 09/03/2022.

Ngày dương mồng 3 tháng ̣9 năm 2022 ứng với ngày 08/08/2022 âm lịch.

Ngày dương mồng 9 tháng ̣3 năm 2022 ứng với ngày 07/02/2022 âm lịch.
----------
Trên GPE bạn Hoàng Trọng Nghĩa có chia sẻ lịch dương / âm. Tôi đã so sánh code tính ngày âm từ ngày dương và code phụ đi kèm (hàm lunar) trong tập tin của Hoàng Trọng Nghĩa và code Module1 của bạn thì thấy Y HỆT nhau.

Vập thì có thể coi là code là chuẩn.
 
Vô đây xem nhiều mà chưa tham gia.
Cứ hỏi thông tin từ bx thì ra ngay ngày nào "chay" ngày nào "mặn" hàng tháng.
Khoảng 3-4 ngày gì đó.
 
Web KT

Bài viết mới nhất

Back
Top Bottom