Tính ngày CHAY và ngày MẶN (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Masu1991

Thành viên hoạt động
Tham gia
21/3/20
Bài viết
110
Được thích
14
Chào anh chị, Em có một ví dụ nhỏ như này, là dựa vào ngày dương lịch để tìm ra ngày âm lịch và xem ngày đó có phải là ngày ăn CHAY hay không, nếu ngày đó là ngày CHAY thì trả về kết quả CHAY, ngược lại thì MẶN
Em cảm ơn.
 

File đính kèm

Kết quả là dòng bôi xanh ấy ạ
 
Chào anh chị, Em có một ví dụ nhỏ như này, là dựa vào ngày dương lịch để tìm ra ngày âm lịch và xem ngày đó có phải là ngày ăn CHAY hay không, nếu ngày đó là ngày CHAY thì trả về kết quả CHAY, ngược lại thì MẶN
Em cảm ơn.
Công thức tại B5 (Năm 2022 chưa sai nhưng năm khác có thể có vài ngày sai):
Mã:
=IF(ISERROR(MATCH(--TEXT(B3,"[$-00110000]d"),CHOOSE(MAX(INDEX(--TEXT(ROW(INDIRECT(B3&":"&(B3+29))),"[$-00110000]d"),))-28,{1,8,14,15,18,23,24,27,28,29},{1,8,14,15,18,23,24,28,29,30}),0)),"MAN","CHAY")
 
Công thức tại B5 (Năm 2022 chưa sai nhưng năm khác có thể có vài ngày sai):
Mã:
=IF(ISERROR(MATCH(--TEXT(B3,"[$-00110000]d"),CHOOSE(MAX(INDEX(--TEXT(ROW(INDIRECT(B3&":"&(B3+29))),"[$-00110000]d"),))-28,{1,8,14,15,18,23,24,27,28,29},{1,8,14,15,18,23,24,28,29,30}),0)),"MAN","CHAY")
cảm ơn anh rất nhiều, em kiểm tra xem thế nào ạ.
 
Bà con tiện lợi nhỉ.
Tôi thì làm thủ công tuốt. Lấy quyển lịch năm, gõ bảng tra mấy ngày cần thiết. Hết.
 
Công thức tại B5 (Năm 2022 chưa sai nhưng năm khác có thể có vài ngày sai):
Mã:
=IF(ISERROR(MATCH(--TEXT(B3,"[$-00110000]d"),CHOOSE(MAX(INDEX(--TEXT(ROW(INDIRECT(B3&":"&(B3+29))),"[$-00110000]d"),))-28,{1,8,14,15,18,23,24,27,28,29},{1,8,14,15,18,23,24,28,29,30}),0)),"MAN","CHAY")
Tôi không kiểm tra công thức cho B5, nhưng với B3 = 19.05.2023 - 31.05.2023 công thức TEXT(B3;"[$-00110000]yyyy-mm-dd") trả về 30/04/2023, 01/05/2023-12/05/2023

Kết quả đúng phải là: 01/04/2023-13/04/2023

Công thức --TEXT(B3;"[$-00110000]d") cũng sai vì trả về 30 cho ngày dương 19.05.2023, trong khi mong đợi là 1, còn với các ngày khác trả về kết quả nhỏ hơn mong đợi 1 đơn vị.

Các ngày dương đầu tháng 6 cũng thế. Tức với 01.06.2023-17.06.2023 sai về số ngày trả về. Còn nếu tính cả tháng thì sai nhiều lắm. Vd. ngày dương 30.06.2023 là ngày âm 13.05.2023 nhưng công thức TEXT(B3;"[$-00110000]yyyy-mm-dd") trả về ngày âm 13.06.2023

Tôi có thể nhầm lẫn (khả năng thấp) khi kiểm tra, nhưng ai muốn có thể tự kiểm tra lại. Tôi không khăng khăng là kết quả của tôi là chính xác.

Tuy nhiên kết quả sẽ có vấn đề khi năm âm lịch là năm nhuận. Tôi đoán mò thôi.
 
Lần chỉnh sửa cuối:
Thay đổi gió
Mã:
=IFERROR(IF(MAX(VALUE(TEXT(SEQUENCE(30,,B3),"[$-00131066] d")))=30,VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$J$4:$K$13,2,0),VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$L$4:$M$13,2,0)),"MAN")
1661170448251.png
Bài đã được tự động gộp:

Thấy bạn kẻ cái bảng kỳ công quá nên xài vlookup huyền thoại
 

File đính kèm

Tôi không kiểm tra công thức cho B5, nhưng với B3 = 19.05.2023 - 31.05.2023 công thức TEXT(B3;"[$-00110000]yyyy-mm-dd") trả về 30/04/2023, 01/05/2023-12/05/2023

Kết quả đúng phải là: 01/04/2023-13/04/2023

Công thức --TEXT(B3;"[$-00110000]d") cũng sai vì trả về 30 cho ngày dương 19.05.2023, trong khi mong đợi là 1, còn với các ngày khác trả về kết quả nhỏ hơn mong đợi 1 đơn vị.

Các ngày dương đầu tháng 6 cũng thế. Tức với 01.06.2023-17.06.2023 sai về số ngày trả về. Còn nếu tính cả tháng thì sai nhiều lắm. Vd. ngày dương 30.06.2023 là ngày âm 13.05.2023 nhưng công thức TEXT(B3;"[$-00110000]yyyy-mm-dd") trả về ngày âm 13.06.2023

Tôi có thể nhầm lẫn (khả năng thấp) khi kiểm tra, nhưng ai muốn có thể tự kiểm tra lại. Tôi không khăng khăng là kết quả của tôi là chính xác.

Tuy nhiên kết quả sẽ có vấn đề khi năm âm lịch là năm nhuận. Tôi đoán mò thôi.
Vâng em cũng nói rõ từ đầu là có sai với các năm khác vì em biết hàm này không đúng chuẩn 100% so với âm lịch. Số liệu bác đưa em cũng chưa kiểm tra nhưng em cũng không lấy làm ngạc nhiên vì em biết chắc sẽ có ngày sai . Chẳng qua em góp vui, nếu bạn ấy dùng ngắn hạn trong 2022 thì hình như vẫn đúng
 
Hình như tác già Hồ Ngọc Đức có chương trình chuyển từ dương lịch sang âm & ngược lại ở mọi thời đại.
 
Bà con tiện lợi nhỉ.
Tôi thì làm thủ công tuốt. Lấy quyển lịch năm, gõ bảng tra mấy ngày cần thiết. Hết.
Anh tra ngày chay để ăn chay à? Tôi lấy lịch tháng, đánh dấu từng tháng thôi. Nhưng không phải để ăn chay, mà để tụng kinh Địa Tạng. Giờ cũng ngưng rồi.
Quay về chủ đề chính: Nên có hàm tra ngày âm lịch trước khi tra chay mặn, dùng công thức và định dạng các kiểu có sai số do nhiều nguyên nhân:
- Múi giờ (mặt trăng mọc lúc mấy giờ, trùng với giờ mặt trời mọc thì sẽ là mùng 1 âm lịch)
- Năm nhuận sẽ nhân đôi tháng mấy (chắc cũng theo múi giờ)
- Cách tính khác
- Sai số của Tây bày đặt tính lịch ta. (Tây đây là MS).
 
Vâng em cũng nói rõ từ đầu là có sai
Tôi biết chứ. Tôi cố tình trích và tô đỏ một đoạn để chứng tỏ là bạn biết. Tôi chỉ đưa ra ví dụ cụ thể thôi. Mà nhìn ví dụ thì riêng về ngày sai 13 ngày liên tiếp (gần nửa tháng) còn nếu nói về date thì sai gần 1 tháng.

Hình như tác già Hồ Ngọc Đức có chương trình chuyển từ dương lịch sang âm & ngược lại ở mọi thời đại.
Không có chương trình thì phải. Chỉ có lịch âm hoàn chỉnh. Và có bài viết hướng dẫn tạo lịch âm mà trong đó có nhiều công thức, có công thức tính ngày âm từ ngày dương, rôi tính can, chi gì đó. Tóm lại là tất cả mọi công thức cần có để làm lịch âm.
 
Lần chỉnh sửa cuối:
Anh tra ngày chay để ăn chay à? Tôi lấy lịch tháng, đánh dấu từng tháng thôi. Nhưng không phải để ăn chay, mà để tụng kinh Địa Tạng. Giờ cũng ngưng rồi.
...
Nếu tôi ăn chay thì là tại tôi cần (lý do sức khỏe) hoặc thích (tôi biết có nhiều người, tự dưng đến một tuổi nào đó không thích ăn thịt cá nữa)
Trường hợp này thì cần gì phân biệt ngày nào với ngày nào.

Quyển lịch nhà tôi chỉ đánh dấu ngày giỗ thôi - không có cả ngày sinh nhật, hay mấy ngày lễ Tây như bọn trẻ bi giờ. Mấy ngày cúng kiến lệ Ta khác như mồng Năm tháng Năm, đưa ông Táo,... thì tự động ra chợ thấy thiên hạ bán hàng, hỏi họ cho biết chính xác ngày.

Chú 1 (về ngày Ta):
- Ngày đưa ông Táo được bà xã cho ăn kẹo đậu phộng (kẹo lạc) sau khi dọn mâm.
- Tuần lễ sau Trung Thu được ăn bánh ế.
- Mồng Năm ăn bánh ú nước tro. Hồi xưa chấm đường, bi giờ sợ tiểu đường không chấm nữa vẫn ngon.
- Bắt đầu gần giữa tháng Chạp thì có bánh cốm mới, thơm không thể tưởng. Bánh lá gai nữa.
- Tết thì được ăn chè kho. Người Nam rất ít người biết món này. Gợi ý: không phải chè nấu bằng thịt quay kho như ở miệt dưới.

Chú 2 (về món chay rằm):
- Hồi tôi còn nhỏ, Mẹ tôi vẫn tới ngày rằm thì nấu cho một nồi chè kiểm lớn, hoặc lúc có tiền hơn thì bà chơi nồi trôi nước.
- Một trong những món chay độc đáo của Mẹ tôi là đậu hủ kho tương bần (người Nam không biết tương này). Chấm rau muống chẻ/bào ăn hết biết.
 
Không có chương trình thì phải. Chỉ có lịch âm hoàn chỉnh. Và có bài viết hướng dẫn tạo lịch âm mà trong đó có nhiều công thức, có công thức tính ngày âm từ ngày dương, rôi tính can, chi gì đó. Tóm lại là tất cả mọi công thức cần có để làm lịch âm.
Các bạn có thể tham khảo thêm ở đây:
 
Em cảm ơn các Chú, Bác, Anh đã hỗ trợ ạ. nhưng vấn đề bài toán vẫn chưa tính ra được 2 tháng nhuận nếu rơi vào năm nhuận (2023) ạ
 
Lần chỉnh sửa cuối:
Em cảm ơn các Chú, Bác, Anh đã hỗ trợ ạ.
Truy tìm thông tin mất gần 30 phút mới giải quyết được đó. thuật toán bài trước đưa ra trước tôi, tôi chỉ xài khác hàm đi thôi. Khá khó vì có ít thông tin tra cứu, đây là bài đầu tiên trên diễn đàn thì phải
 
Mồng Năm ăn bánh ú nước tro. Hồi xưa chấm đường, bi giờ sợ tiểu đường không chấm nữa vẫn ngon.
Tiểu đường không phải là do ăn nhiều đường mà do lối sống (ăn nhiều, ít vận động). Đường ăn vào thì nó sẽ thành năng lượng cho cơ thể hoạt động. Chỉ khi ta ăn nhiều mà không vận động đủ thì mới tích tụ đường trong máu cao dẫn đến tiểu đường. Các báo nhà ta thay vì khuyên mọi người nên giảm ăn, vận động nhiều mà lại khuyên hạn chế ăn đường nên đa phần mọi người đều nghĩ ăn nhiều đường là bị tiểu đường.
 
Truy tìm thông tin mất gần 30 phút mới giải quyết được đó. thuật toán bài trước đưa ra trước tôi, tôi chỉ xài khác hàm đi thôi. Khá khó vì có ít thông tin tra cứu, đây là bài đầu tiên trên diễn đàn thì phải
Em sử dụng Office 2019 nên không có hàm SEQUENCE này để chạy thử kết quả. vấn đề bài toán vẫn chưa tính ra được 2 tháng nhuận nếu rơi vào năm nhuận (2023)
 
Tiểu đường không phải là do ăn nhiều đường mà do lối sống (ăn nhiều, ít vận động). . . . . . . . . . . .mới tích tụ đường trong máu cao dẫn đến tiểu đường.
Tiểu đường còn là do trước đó 1 tiếng (đồng hồ) uống 1 lúc trên 4 lon bia gây ra . . . .
 
Em sử dụng Office 2019 nên không có hàm SEQUENCE này để chạy thử kết quả. vấn đề bài toán vẫn chưa tính ra được 2 tháng nhuận nếu rơi vào năm nhuận (2023)
Bạn tôi ? ... . Tải nó lên google trang tính hoặc bản excel online. Cứ gì phụ thuộc bản cài máy đâu
1661217458859.png
 
Công thức tại B5 (Năm 2022 chưa sai nhưng năm khác có thể có vài ngày sai):
Mã:
=IF(ISERROR(MATCH(--TEXT(B3,"[$-00110000]d"),CHOOSE(MAX(INDEX(--TEXT(ROW(INDIRECT(B3&":"&(B3+29))),"[$-00110000]d"),))-28,{1,8,14,15,18,23,24,27,28,29},{1,8,14,15,18,23,24,28,29,30}),0)),"MAN","CHAY")
Chào anh, em có tham khảo hàm tự tạo từ 1 bài viết trên GPE tính ra được năm nhuận nhưng em không biết thiết lập công thức thế nào để ra CHAY và MAN. phiền (Các) anh xem qua hỗ trợ giúp em ạ.
Link em tham khảo: https://www.giaiphapexcel.com/diend...ngÀy-dƯƠng-lỊch-ngÀy-Âm-lỊch.9994/post-112267
 

File đính kèm

Em sử dụng Office 2019 nên không có hàm SEQUENCE này để chạy thử kết quả. vấn đề bài toán vẫn chưa tính ra được 2 tháng nhuận nếu rơi vào năm nhuận (2023)
Không có hàm đó xài tạm dạng này 1661220429210.png
Bài đã được tự động gộp:

Do hàm max khử mảng nên không cần công thức mảng. rút gọn
Mã:
=IFERROR(IF(MAX(VALUE(TEXT(B3+ROW(1:30),"[$-00131066] d")))=30,VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$J$4:$K$13,2,0),VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$L$4:$M$13,2,0)),"MAN")
1661221010160.png
Khá tốn ảnh chụp màn hình
 

File đính kèm

Lần chỉnh sửa cuối:
Không có hàm đó xài tạm dạng này View attachment 280201
Bài đã được tự động gộp:

Do hàm max khử mảng nên không cần công thức mảng. rút gọn
Mã:
=IFERROR(IF(MAX(VALUE(TEXT(B3+ROW(1:30),"[$-00131066] d")))=30,VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$J$4:$K$13,2,0),VLOOKUP(VALUE(TEXT(B3,"[$-00131066] d")),$L$4:$M$13,2,0)),"MAN")
View attachment 280207
Khá tốn ảnh chụp màn hình
Cảm ơn anh, trường hợp này có thể đúng với năm 2022, nhưng nếu sang nằm nhuận 2023 thì kết quả sai:
1661221564164.png
Anh xem bài #28 xem có giải quyết được vấn đề không anh.
 

File đính kèm

Chào anh, em có tham khảo hàm tự tạo từ 1 bài viết trên GPE tính ra được năm nhuận nhưng em không biết thiết lập công thức thế nào để ra CHAY và MAN. phiền (Các) anh xem qua hỗ trợ giúp em ạ.
Link em tham khảo: https://www.giaiphapexcel.com/diendan/threads/Ý-tưởng-lẬp-cÔng-thỨc-chuyỂn-ĐỔi-qua-lẠi-ngÀy-dƯƠng-lỊch-ngÀy-Âm-lỊch.9994/post-112267
Thôi công thức mệt quá thì chuyển qua code vậy, bạn test thử các kết quả khác xem sao nhé:
Cách dùng: chay_man(ngày dương lịch, [vùng chay 29], [vùng chay 30])
2 tham số sau có thể bỏ qua không nhập (nếu không nhập thì lấy ngày như trên bảng tính bạn đang lập sẵn, muốn sửa thì trong module Main có function đó tự sửa ngày). Còn nếu có chọn vùng thì sẽ lấy ngày theo vùng chọn trên bảng tính
Lưu ý nữa: Nếu chọn vùng thì vùng đó phải trên một cột (dạng đứng), nếu nằm ngang phải sửa code
Sửa: Chỉnh lại code giảm bớt vòng lặp
 

File đính kèm

Lần chỉnh sửa cuối:
Mồng Năm ăn bánh ú nước tro. Hồi xưa chấm đường, bi giờ sợ tiểu đường không chấm nữa vẫn ngon.
Chấm mật mía chứ anh.

Bánh này thì ngon quá, bổ sung nhiều chất xơ.
Ngày xưa luộc lá rồi thái nhỏ cho vào cối đá giã bằng tay, được mẻ bột bánh mệt nhừ luôn. Bây giờ dùng máy xay chạy điện rồi.

Tết thì được ăn chè kho.
Ngoài Bắc bây giờ cũng mai một rồi anh ơi, hầu như không còn nữa.
 
Thôi công thức mệt quá thì chuyển qua code vậy, bạn test thử các kết quả khác xem sao nhé:
Cách dùng: chay_man(ngày dương lịch, [vùng chay 29], [vùng chay 30])
2 tham số sau có thể bỏ qua không nhập (nếu không nhập thì lấy ngày như trên bảng tính bạn đang lập sẵn, muốn sửa thì trong module Main có function đó tự sửa ngày). Còn nếu có chọn vùng thì sẽ lấy ngày theo vùng chọn trên bảng tính
Lưu ý nữa: Nếu chọn vùng thì vùng đó phải trên một cột (dạng đứng), nếu nằm ngang phải sửa code
Sửa: Chỉnh lại code giảm bớt vòng lặp
Cảm ơn anh, và cảm ơn các anh đã hỗ trợ em ạ.
 
[bánh ú nước tro]
Chấm mật mía chứ anh.
Trong Nam ít xài mật mía. Đường là một cục như bánh xà bông, gọi là đường tán, hoặc thẻ dầy khoảng 8mm, gọi là đường thẻ. Người ta dùng muỗng cạo ra bột rồi chấm. (cái này dùng cho món xoài tượng chấm mắm đường thì hết chê)
Về sau này đường cát mới thông dụng.

Bánh này thì ngon quá, bổ sung nhiều chất xơ.
Ngày xưa luộc lá rồi thái nhỏ cho vào cối đá giã bằng tay, được mẻ bột bánh mệt nhừ luôn. Bây giờ dùng máy xay chạy điện rồi.
Bây giờ những món dân dã người ta hay chế biến thêm cho cầu kỳ để bán giá cao. Nhiều chỗ còn xạo là "đặc sản miền".
Riết rồi ăn chỉ thấy toàn đồ chế biến.
Điển hình, bánh khảo thơm bột nếp, chế va-ni vào ăn mất vị luôn.

Ngoài Bắc bây giờ cũng mai một rồi anh ơi, hầu như không còn nữa.
Không có chè kho thì món ngọt trên bàn cúng Tết được thay bằng gì?
 
Chán ! . chưa có thời gian học thêm VBA. ... các kiến thức khác nữa nên chỉ xài hàm thôi. Diễn đàn rất ổn, nơi học tập, trao đổi, tranh luận ... tự nhìn lại mình vẫn còn non và xanh lắm. Giờ đang định học sang google sheet, sau đó đến VBA
 
Tiểu đường không phải là do ăn nhiều đường mà do lối sống (ăn nhiều, ít vận động). Đường ăn vào thì nó sẽ thành năng lượng cho cơ thể hoạt động. Chỉ khi ta ăn nhiều mà không vận động đủ thì mới tích tụ đường trong máu cao dẫn đến tiểu đường. Các báo nhà ta thay vì khuyên mọi người nên giảm ăn, vận động nhiều mà lại khuyên hạn chế ăn đường nên đa phần mọi người đều nghĩ ăn nhiều đường là bị tiểu đường.
Nói chuyện theo kiểu tội phạm không phải do con người mà do xã hội. Ai cũng biết vậy nhưng bảo bãi bỏ việc trừng phạt tội phạm (không phạt, không tù gì cả) mà chỉ nên chú trọng vào giáo hóa người phạm tội và nâng tầm tri thức xã hội. Xin thưa rằng trái đất không phải thiên đường, ngân sách Mẽo còn chịu thua, huống gì mấy nước chưa tiến triển.

Phương sách "vận động để tiêu năng lượng" giống như củ cà rốt dụ con lừa.
1. Nó chỉ thực hiện được với giới có khả năng sáng dậy sớm chạy bộ, chiều đi làm về vào gym tập. Trước mắt: giới bình dân có mấy ai đủ khả năng theo dõi thân thể của mình mà biết bao nhiêu ký lô Jules được đốt sau khi khiêng một chục bao gạo? Có mấy ai sau một buổi cắm cúi trong hãng may, về nhà cơm nước, chăm con rồi tối vận động (đốt lượng đường do tinh bột trong cơm phân hóa thành)?
2. Cơ thể con người có tật lười. Nhiều trường hợp tin tưởng vào vận động để đốt đường là chưa hẳn đúng.

Vì vậy, cũng như chính sách "tội phạm thì phải trừng trị", để tránh tiểu đường thì giảm thiểu tiêu thụ đường trước đã.
 
Cảm ơn anh, trường hợp này có thể đúng với năm 2022, nhưng nếu sang nằm nhuận 2023 thì kết quả sai:
Trong bài #9 bạn Nhattanktnn đã cảnh báo cái sai
Năm 2022 chưa sai nhưng năm khác có thể có vài ngày sai

Còn tôi trong bài #13 đã chỉ ra cụ thể các ngày sai (chỉ ví dụ chứ không chỉ ra hết) khi dùng TEXT(B3,"[$-00110000]d")

Dùng TEXT(B3;"[$-00131066] d") cũng cho kết quả sai y hệt. Tôi đã chỉ ra "nơi sai" mà không kiểm tra là sao? Biết các ngày cần kiểm tra thì cứ kiểm tra đi khắc biết.
 
Trong bài #9 bạn Nhattanktnn đã cảnh báo cái sai


Còn tôi trong bài #13 đã chỉ ra cụ thể các ngày sai (chỉ ví dụ chứ không chỉ ra hết) khi dùng TEXT(B3,"[$-00110000]d")

Dùng TEXT(B3;"[$-00131066] d") cũng cho kết quả sai y hệt. Tôi đã chỉ ra "nơi sai" mà không kiểm tra là sao? Biết các ngày cần kiểm tra thì cứ kiểm tra đi khắc biết.
Dạ, em có kiểm tra ở bài anh nói về những lỗi đó. ý em là làm sao để khắc phục cái lỗi sai đó á anh.
 
Dạ, em có kiểm tra ở bài anh nói về những lỗi đó. ý em là làm sao để khắc phục cái lỗi sai đó á anh.
Trong bài #28 bạn viết
Chào anh, em có tham khảo hàm tự tạo từ 1 bài viết trên GPE tính ra được năm nhuận
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.
 
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ì đó.
 

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

Back
Top Bottom