Làm thế nào để rút gọn công thức hơn?

Liên hệ QC

bamemay

Thành viên chính thức
Tham gia
20/7/07
Bài viết
55
Được thích
4
Em có bài tập tính năm Nhuận Âm Lịch. (Trong File đính kèm em có ghi rõ nội dung cần giúp)
Dùng hàm If thì dài quá, em muốn nó ngắn lại mà không biết phải làm sao? Mong Anh, chị giúp dùm em. Cảm ơn
 

File đính kèm

  • dùng hàm gì.xls
    15 KB · Đọc: 10
Lần chỉnh sửa cuối:
Em có bài tập tính năm Nhuận Âm Lịch. (Trong File đính kèm em có ghi rõ nội dung cần giúp)
Dùng hàm If thì dài quá, em muốn nó ngắn lại mà không biết phải làm sao? Mong Anh, chị giúp dùm em.
Cũng phải dùng 1 IF(), kiểm tra thử xem có xài được không, cái vụ ngày Âm này thì tôi không rành lắm.
 

File đính kèm

  • Dùng hàm gì.rar
    2.7 KB · Đọc: 22
Em biết cách tính năm nhuận và nhuận vào tháng mấy của Âm Lịch (bằng toán học) nhưng dùng Excel để làm cho đơn giản hơn thì chưa biết.
Anh làm cho ra kết quả đúng hết. Cảm ơn Ba Tê.

Em muốn sử dụng hàm đơn giản hơn như: and hoặc or hoặc not để lồng vào mod, If hoặc countif,choose thì được không anh. Em làm mà nó không ra.
 
Lần chỉnh sửa cuối:
Vậy bạn dùng thử cái này đi.
=IF(MOD(B3,19)=$A$3:$A$9,"nhuận","không nhuận")
 

File đính kèm

  • dung ham gi.xls
    16.5 KB · Đọc: 10
Cảm ơn duongdv. Cách này đúng cho một số năm. vd: cho năm 2004 năm 2012 năm 1998... thì không đúng.
Xin cho thêm ý kiến. Cảm ơn
 
Cảm ơn duongdv. Cách này đúng cho một số năm. vd: cho năm 2004 năm 2012 năm 1998... thì không đúng.
Xin cho thêm ý kiến. Cảm ơn

xin lỗi nhé. Mình làm xong nhưng cũng không kiểm tra lại. Nếu bạn muốn áp dụng các hàm đơn giản thì công thức sẽ dài, nếu bạn muốn ngắn gọn thì áp dụng theo công thức của Ba Tê mình thấy công thức đó cũng đơn giản mà, và cũng ngắn gọn đấy chứ.
 
Mình không rành về vấn đề tính lịch lắm nhưng với yêu cầu của bạn có thể dùng công thức sau:

=IF(ISERROR(MATCH(MOD(B3,19),{0,3,6,9,11,14,17},0)),"Năm thường","Năm nhuận")

Ta chỉ đặt ô B3 vào ô cần tính năm của bạn là được
 
Dùng cách của Batê Sealand đều cho kết quả đúng hết. Cảm ơn anh chị.
 
Sẵn có người nói đến Nhuận Dương Lịch. Mong Anh chị giúp dùm em luôn nhé.
1. Nếu năm nhuận dương lịch (với các năm tận cùng không phải là số 00. vd: năm 2004, 2008...) thì lấy năm đó chia cho 4 dư 0 thì là Năm Nhuận.
2. Nếu năm nhuận dương lịch (với các năm tận cùng là số 00. vd: năm 2000, 3000, 1900...) thì lấy năm đó chia cho 4 và 400 dư 0 thì mới là Năm Nhuận.
Ý em muốn hỏi là làm sao mình gộp 2 điều kiện trên vào hàm nào đó để tính trong Excel cho tiện mà vẫn cho kết quả chính xác.
Cảm ơn.
 
Sẵn có người nói đến Nhuận Dương Lịch. Mong Anh chị giúp dùm em luôn nhé.
1. Nếu năm nhuận dương lịch (với các năm tận cùng không phải là số 00. vd: năm 2004, 2008...) thì lấy năm đó chia cho 4 dư 0 thì là Năm Nhuận.
2. Nếu năm nhuận dương lịch (với các năm tận cùng là số 00. vd: năm 2000, 3000, 1900...) thì lấy năm đó chia cho 4 và 400 dư 0 thì mới là Năm Nhuận.
Ý em muốn hỏi là làm sao mình gộp 2 điều kiện trên vào hàm nào đó để tính trong Excel cho tiện mà vẫn cho kết quả chính xác.
Cảm ơn.
Bạn giải thích rõ ý này
. Nếu năm nhuận dương lịch (với các năm tận cùng là số 00. vd: năm 2000, 3000, 1900...) thì lấy năm đó chia cho 4 và 400 dư 0 thì mới là Năm Nhuận là sao vậy?
có phải là 3000/4 => kq và lấy Kq này lại chia tiếp cho 400 hay như thế nào vậy?
 
Mình thấy cách này khá gọn, khỏi cần thuật toán chỉ cần biết tháng 2 năm đó 29 ngày thì là năm nhuận

=IF(DAY(DATE(F5,3,0))=29,"Nhuan","Thuong")
 
Em có bài tập tính năm Nhuận Âm Lịch. (Trong File đính kèm em có ghi rõ nội dung cần giúp)
Dùng hàm If thì dài quá, em muốn nó ngắn lại mà không biết phải làm sao? Mong Anh, chị giúp dùm em.

Nếu nó đúng với yêu cầu của bạn thì chỉ cần như vậy:
=IF(MOD(B3-A3,19)=0,"NĂM NHUẬN","N THƯỜNG")
 
Bạn giải thích rõ ý này
. Nếu năm nhuận dương lịch (với các năm tận cùng là số 00. vd: năm 2000, 3000, 1900...) thì lấy năm đó chia cho 4 và 400 dư 0 thì mới là Năm Nhuận là sao vậy?
có phải là 3000/4 => kq và lấy Kq này lại chia tiếp cho 400 hay như thế nào vậy?

Không phải. Chẳng hạn những năm tận cùng là số 00 như: năm 2000, 3000 thì lấy những năm này đồng thời chia cho 4 và 400 mà dư 0 thì là năm nhuận. ví dụ: năm 2000 chia hết cho 4 và đồng thời cũng chia hết cho 400 :
- Lấy 2000/4 dư 0, vẫn lấy 2000/400 cũng dư 0. Vậy năm 2000 là năm nhuận.
- Năm 3000/4 dư 0, vẫn lấy 3000/400 thì lại dư 200. Vậy năm 3000 không phải là năm nhuận
 
Tại sao không dùng COUNTIF nhỉ?
PHP:
=IF(COUNTIF($A$3:$A$9,MOD(B3,19)),"Nhuận","")
----------------------
Nếu nó đúng với yêu cầu của bạn thì chỉ cần như vậy:
=IF(MOD(B3-A3,19)=0,"NĂM NHUẬN","N THƯỜNG")
Cái này sai à nha!
 
Lần chỉnh sửa cuối:
Mình thấy cách này khá gọn, khỏi cần thuật toán chỉ cần biết tháng 2 năm đó 29 ngày thì là năm nhuận

=IF(DAY(DATE(F5,3,0))=29,"Nhuan","Thuong")

Cảm ơn Sealand đã giúp tìm được đáp án cho Dương lịch. Cảm ơn
 
Lần chỉnh sửa cuối:
Cảmo ơn Sealand. Cách này đúng. Nhưng nếu như mình đã biết một năm nào đó có tháng 2 là 29 ngày rồi thì coi như mình đã biết năm đó Nhuận. Vậy như năm 3100 thì làm sao mình biết tháng 2 có 29 ngày hay không nếu không dùng lịch vạn sự.
Bản thân công thức này sẽ tự động trả về ngày 29 của tháng 2 nếu năm đó tháng 2 có 29 ngày mà.
=IF(DAY(DATE(F5,3,0))=29,"Nhuan","Thuong")
Bạn để ý số 0 trong công thức: bình thường thì công thức =DAY(DATE(F5,3,0)) sẽ trả về số của ngày trong tháng 3 nhưng Trong thực tế sẽ không có ngày 0 bởi vậy công thức sẽ trên sẽ trả về ngày cuối cùng của tháng 2.
 
Tại sao không dùng COUNTIF nhỉ?
PHP:
=IF(COUNTIF($A$3:$A$9,MOD(B3,19)),"Nhuận","")
Điều kiện của anh cho kết quả chưa đúng. Cảm ơn ndu96081631. Chẳng hạn năm 2004 là năm nhuận Âm lịch vào tháng 2. Nhưng kết quả cho ra là năm 2004 không nhuận
 
Web KT
Back
Top Bottom