Nguyễn Minh Thành
Nguyễn Minh Thành
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 405 lượt xem

em có vấn đề xin chỉ thêm ạhc4 là họ và tên (d4 là ngày e4 là tháng

chào thầy em có vấn đề xin thầy chỉ thêm ạh

c4 là họ và tên, (d4 là ngày, e4 là tháng, f4 là năm) ngày tháng năm sinh của Nam, (g4 là ngày, h4 là tháng, i4 là năm) ngày tháng năm sinh của Nữ, p4 là Nam hoặc Nữ

em có cấu trúc như vậy:

=C4&CHAR(10)&TEXT(IF(EXACT(P4,"Nữ"),

DATE(I4,H4,G4),DATE(F4,E4,D4)),

IF(OR(AND(D4>0,E4>0),AND(G4>0,H4>0)),"dd/MM/yyyy","yyyy"))

khi liên kết lại với nhau theo cấu trúc ra kết quả nhưng nếu xóa ô d4, e4 hay q4, h4 thì chỉ ra tên và năm sinh lại bị giảm 1 năm vd như sinh năm 2004 thi ra kết quả 2003

Xin thầy giúp dùm


Thảo luận 1 câu trả lời
Lượt xem 405 lượt xem
Vỗ tay vỗ tay
Nguyễn Minh Thành 09:04 - Apr 07, 2021

Hàm của bạn có logic khá là rối, mình đọc ko hiểu lắm.

Mục đích của bạn là ghép Tên với ngày tháng năm sinh, sau ghi ghép sẽ có ở dạng Tên kèm theo ngày tháng năm sinh viết ở dạng dd/mm/yyyy, trường hợp không có ngày vầ tháng sinh thì chỉ thể hiện năm sinh thôi đúng không?

Nguyên nhân của việc giảm 1 năm là do hàm DATE:

- nếu ngày bằng 0 thì sẽ tính lùi 1 tháng và tính vào ngày cuối tháng,

- nếu tháng bằng 0 thì sẽ tính lùi 1 năm và tính vào tháng 12

Như vậy khi bạn không có giá trị nào ở ngày và tháng thì sẽ bị tính lùi 1 năm.

Để khắc phục vấn đề này, bạn cần đặt lại logic cho chính xác, bao gồm cả trường hợp không có ngày hay tháng.

=C5&" "&TEXT(
IF(P5="Nam",
DATE(F5, IF(ISBLANK(E5),1,E5), IF(ISBLANK(D5),1,D5)),
DATE(I5, IF(ISBLANK(H5),1,H5), IF(ISBLANK(G5),1,G5))),
IF(OR(AND(D5>0,E5>0),AND(G5>0,H5>0)),"dd/MM/yyyy","yyyy"))
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông