Thắc mắc hàm If (1 người xem)

  • Thread starter Thread starter ninhmoon
  • Ngày gửi Ngày gửi

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

ninhmoon

Thành viên tiêu biểu
Tham gia
3/3/14
Bài viết
525
Được thích
48
Mọi người cho e hỏi chút về công thức hàm if:
Tại cột B em có cột ngày tháng:
Hiện tại em đang tìm những khoảng thời gian như sau:
nếu tại B3 <30/01/2012 thì sẽ là 3 năm
01/02/2012-30/01/2013 sẽ là 2 năm
01/02/2013-30/01/2014 sẽ là 1 năm
01/02/2014-30/06/2014 sẽ là 6 năm
thì tại cột C em đặt công thức sau:


[GPECODE=vb]
[TABLE="width: 960"]
[TR]
[TD="class: xl3506, width: 960, colspan: 15"]=IF(B3<"30/01/2012",3,IF("01/02/2012"<B3<"30/01/2013","2 năm",IF("01/02/2013"<B3<"30/01/2014","1 năm",IF("01/02/2014"<B3<"30/06/2014","6 tháng",0))))[/TD]
[/TR]
[/TABLE]


[/GPECODE]
nhưng mà không hiểu là sai tại chỗ nào mà không ra được kết quả đúng?
Mọi người giúp e lập lại công thức và chỉ ra cái sai của CÔng thức Em đã lập
 
Cái chỗ: IF("01/02/2012"<B3<"30/01/2013"....
Phải là IF(And(B3>date(2012,2,1),B3<date(2013,1,30)),...........
....
Nếu bạn cho ngày vào cái "" nó hiểu là text thì sao so sánh được.
Tương tự cho các điều kiện khác xem sao.
 
Cái chỗ: IF("01/02/2012"<B3<"30/01/2013"....
Phải là IF(And(B3>date(2012,2,1),B3<date(2013,1,30)),...........
....
Nếu bạn cho ngày vào cái "" nó hiểu là text thì sao so sánh được.
Tương tự cho các điều kiện khác xem sao.
Nhưng mà em không gõ cái "" thì nó không ra được kết quả. và sử dựng công thức bên dưới thì nó lại ra kết quả là bằng 0 mặc dù em đã format theo định dạng ngày tháng DD/MM/YYYY
=IF(B3<30/1/2014,"3nam",IF(1/2/2012<B3<30/1/2013,"2 nam",IF(1/2/2014<B3<30/1/2014,"1 nam",IF(1/2/2014<B3<30/6/2014,"6 thang",0))))
 
Excel làm sao hiểu được công thức này bạn: 1/2/2012<B3<30/1/2013
Kiểu gì cũng False.
Bạn đưa file lên xem sao.
 
Nhưng mà em không gõ cái "" thì nó không ra được kết quả. và sử dựng công thức bên dưới thì nó lại ra kết quả là bằng 0 mặc dù em đã format theo định dạng ngày tháng DD/MM/YYYY
=IF(B3<30/1/2014,"3nam",IF(1/2/2012<B3<30/1/2013,"2 nam",IF(1/2/2014<B3<30/1/2014,"1 nam",IF(1/2/2014<B3<30/6/2014,"6 thang",0))))
ra kết quả mà kết quả sai đó bạn, bạn kiểm chứng lại chưa???
 
có mình biết là sai nên mới nhờ mọi người giải thích hộ
cá ngừ F1 đã giải thích hộ dùm bạn rồi
cấu trúc hàm and
= and(dk1, dk2,..dkn)
ví dụ and (a<b, a>c)
ví dụ and(0<=diểm số, điểm số <=10) chứ không phải là and(0<=điểm số<=10)
 
EM gửi file nên mọi người xem giùm em ah!
 

File đính kèm

EM gửi file nên mọi người xem giùm em ah!
=IF(B3<DATE(2014,1,30),"3nam",IF(AND(DATE(2012,2,1)<B3, B3<DATE(2013,1,30)),"2 nam",IF(AND( DATE(2014,2,1)<B3, B3< DATE(2014,1,30)),"1 nam",IF(AND(DATE(2014,1,2)<B3,B3< DATE(2014,6,30)),"6 thang",0))))
công thức này là chuyển theo ý tưởng của bạn thôi, theo như tôi đây là công thức tồi, nếu bạn cho tôi cách tính tôi sẽ đưa ra công thức khác hợp lý hơn
 
cá ngừ F1 đã giải thích hộ dùm bạn rồi
cấu trúc hàm and
= and(dk1, dk2,..dkn)
ví dụ and (a<b, a>c)
ví dụ and(0<=diểm số, điểm số <=10) chứ không phải là and(0<=điểm số<=10)


sử dụng hàm and mà không pải hàm if ah, hay là sự kết hợp giữa hai hàm.
Em chưa hiểu, anh có thế giải thích rõ hơn không ah! !$@!!
 
EM gửi file nên mọi người xem giùm em ah!
Thử công thức này:
Mã:
=IF($B3<DATE(2012,1,30),"3nam",IF(AND($B3>DATE(2012,2,1),$B3<DATE(2013,1,30)),"2 nam",IF(AND($B3>DATE(2013,2,1),$B3<DATE(2014,1,30)),"1 nam",IF(AND($B3>DATE(2014,2,1),$B3<DATE(2014,6,30)),"6 thang"))))
Các trường hợp = mốc dữ liệu ngày sẽ False. Tùy bạn điều chỉnh ở điều kiện.

Ngoài ra, có một số ô bạn để định dạng Text nên hàm không hiểu (kết quả False), bạn làm như sau:
B1: Để ở 1 ô trắng => Ctrl + C
B2: Bôi đen vùng dữ liệu ngày => Click phải chuột => Paste Special => Chọn Value , Operation chọn Add.
B3: Định dạng vùng ngày thành dạng Date (bước này có thể làm trên bước 1).
 
Lần chỉnh sửa cuối:
cấu trúc if
if(đk , hđ với đk = true, hành động với kđ=false)
dk phải luôn luôn nhận 1 trong 2 giá trị đó là true, hoặc false

nếu đk là đơn thì không nói làm gì
ví dụ
kiểm tra xem số a có >5 hay không: đk =a>5
if(a>5,"lớn hơn 5","Nhỏ hơn 5)

nếu đk là 1 tổ hợp các điều kiện hoặc hay and hay not....
ví dụ xét tặng quà cho những người có ngày sinh từ 10 đến 20

thì đk phải thỏa 2 cái đó là ngày >=10 và ngày <=20
trong excel phải ghi như vậy
đk = and( ngày >=10 ,ngày <=20)
if( and( ngày >=10 ,ngày <=20)," có quà ","không")
 
Thử công thức này:
Mã:
=IF($B3<DATE(2012,1,30),"3nam",IF(AND($B3>DATE(2012,2,1),$B3<DATE(2013,1,30)),"2 nam",IF(AND($B3>DATE(2013,2,1),$B3<DATE(2014,1,30)),"1 nam",IF(AND($B3>DATE(2014,2,1),$B3<DATE(2014,6,30)),"6 thang"))))
Các trường hợp = mốc dữ liệu ngày sẽ False. Tùy bạn điều chỉnh ở điều kiện.
Nhưng em thấy tại B3 là ngày 15/08/2011 là 3 năm nhưng trả kết quả False
còn tại B5 cũng là ngày 15/08/2011 thì trả lại là 3 năm ?
Như vậy là sai ở điểm nào ahj Bác F1
 
Nhưng mà em không gõ cái "" thì nó không ra được kết quả. và sử dựng công thức bên dưới thì nó lại ra kết quả là bằng 0 mặc dù em đã format theo định dạng ngày tháng DD/MM/YYYY
=IF(B3<30/1/2014,"3nam",IF(1/2/2012<B3<30/1/2013,"2 nam",IF(1/2/2014<B3<30/1/2014,"1 nam",IF(1/2/2014<B3<30/6/2014,"6 thang",0))))
Công thức bạn không xét ngày 31/1 à? Những dấu <,> cần sửa thành <=, >=.
Vùng ngày tháng nếu đang định dạng text format date vẫn không có tác dụng, bạn dùng Data - Text to column để chuyển về dạng date.
Thay bằng công thức này
Mã:
=IF(B3<DATE(2012,2,1),"3nam",IF(B3<DATE(2013,2,1),"2 nam",IF(B3<DATE(2014,2,1),"1 nam",IF(B3<DATE(2014,7,1),"6 thang",0))))
 
Em cảm ơn mọi người đã giải thích và giúp đỡ ah,
Em đang nghĩ thêm %#^#$
 

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

Back
Top Bottom