Đặt công thức theo điều kiện

Liên hệ QC

cugia_codon_khatty

Thành viên chính thức
Tham gia
23/5/08
Bài viết
68
Được thích
4
Giới tính
Nữ
Nhờ các anh chị trong diễn đàn đặt giúp công thức theo điều kiện như trong file đính kèm với ạ
 

File đính kèm

  • Thong bao.xlsx
    10.1 KB · Đọc: 18

File đính kèm

  • Thong bao.xlsx
    10.8 KB · Đọc: 31
Cách 1:
="Nâng lương vào quý "&CHOOSE(MONTH(D5),1,1,1,2,2,2,3,3,3,4,4,4)

Cách 2:
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})

Tuy nhiên với kết quả này, chỉ thể hiện quý mà không thể hiện năm.
Nếu muốn phân biệt năm để tránh trường hợp mới tăng lương xong, kỳ tăng tiếp theo nằm trong cùng quý nhưng không phải năm nay 2021:

Cách 1: vd: Nâng lương vào quý 1 năm 2023
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})&" năm "&YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))

Cách 2: hiện lên "Chưa đến kỳ tăng lương"
=IF(YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))>YEAR(TODAY()),"Chưa đến kỳ tăng lương","Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4}))
 
E5 =IF(YEAR(TODAY())-MID(D5,7,4)=VLOOKUP(C5,$H$4:$I$8,2,0),"Nâng lương vào quý "&INT((MID(D5,4,2)-1)/3)+1,"")
Đã làm và cho kết quả đúng, xin cám ơn bạn nhé!
Bài đã được tự động gộp:

Cách 1:
="Nâng lương vào quý "&CHOOSE(MONTH(D5),1,1,1,2,2,2,3,3,3,4,4,4)

Cách 2:
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})

Tuy nhiên với kết quả này, chỉ thể hiện quý mà không thể hiện năm.
Nếu muốn phân biệt năm để tránh trường hợp mới tăng lương xong, kỳ tăng tiếp theo nằm trong cùng quý nhưng không phải năm nay 2021:

Cách 1: vd: Nâng lương vào quý 1 năm 2023
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})&" năm "&YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))

Cách 2: hiện lên "Chưa đến kỳ tăng lương"
=IF(YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))>YEAR(TODAY()),"Chưa đến kỳ tăng lương","Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4}))
Em làm toàn bị lỗi #Value! với những ngày lớn hơn 12 thôi, bác fix lại cho em với.
 
Lần chỉnh sửa cuối:
Do máy bạn đang để chế độ Regional setting là: mm/dd/yyyy? (Tháng trước ngày sau)
 
Cách 1:
="Nâng lương vào quý "&CHOOSE(MONTH(D5),1,1,1,2,2,2,3,3,3,4,4,4)

Cách 2:
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})

Tuy nhiên với kết quả này, chỉ thể hiện quý mà không thể hiện năm.
Nếu muốn phân biệt năm để tránh trường hợp mới tăng lương xong, kỳ tăng tiếp theo nằm trong cùng quý nhưng không phải năm nay 2021:

Cách 1: vd: Nâng lương vào quý 1 năm 2023
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4})&" năm "&YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))

Cách 2: hiện lên "Chưa đến kỳ tăng lương"
=IF(YEAR(EDATE(D5,LEFT(VLOOKUP(C5,$H$4:$I$8,2,0))*12))>YEAR(TODAY()),"Chưa đến kỳ tăng lương","Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,12},{1,2,3,4}))
Anh ơi sao lại để {1,4,7,12} chỗ này em không hiểu?
 
Mình nhầm, bạn sửa lại 12 thành 10 nhé.
1,4,7,10 là các mốc tháng đầu quý; 1,2,3,4 là quý, khi LOOKUP tháng nó sẽ trả về tháng nhỏ hơn gần nhất và trả về quý tương ứng.
VD: tháng từ 1->3 sẽ LOOKUP về mốc tháng 1 và trả về quý 1, tháng từ 4-6 sẽ LOOKUP về tháng 4 và trả về quý 2
 
Mình nhầm, bạn sửa lại 12 thành 10 nhé.
1,4,7,10 là các mốc tháng đầu quý; 1,2,3,4 là quý, khi LOOKUP tháng nó sẽ trả về tháng nhỏ hơn gần nhất và trả về quý tương ứng.
VD: tháng từ 1->3 sẽ LOOKUP về mốc tháng 1 và trả về quý 1, tháng từ 4-6 sẽ LOOKUP về tháng 4 và trả về quý 2
Dạ em đã thử rồi nhưng nếu tháng 7 thì nó cứ ghi là quý 7 bác ạ
 
Nếu ngày trong tháng 7 mà trả về quý 7, chắc là trường hợp này:
=LOOKUP(MONTH(D7),{1,4,7,12})

Đúng phải là:
="Nâng lương vào quý "&LOOKUP(MONTH(D5),{1,4,7,10},{1,2,3,4})

1616123642274.png
 
Công thức tính quý:
quý = QUOTIENT(tháng + 2, 3)
 
Dùng hàm Int ngắn hơn vài ký tự
quý = INT(tháng + 2/ 3)
Thiếu hai ký tự (). Tuy nhiên, vẫn phải nhận là ngắn hơn quotient 3 ký tự :p

Tôi hoàn toàn không rõ hiệu suất (nặng ký về tốc độ) của hàm quotient ra sao.
Riêng việc cắt bỏ thập phân số dương thì tôi chuộng hàm Trunc hơn. Trông lô gic như quotient, và tôi đoán chỉ phải chặt đuôi thì khá nhẹ ký.
 
Web KT
Back
Top Bottom