Cách kết hợp hàm if và hàm or

Liên hệ QC
Mình đang làm hàm if và hàm or kết hợp với nhau nhưng không biết làm sai chỗ nào mà không ra được kết quả mong mọi người hướng dẫn dùm. Bài này như sau Phụ cấp=Lương * 10% đối với các NV có mã NV mang 2 ký tự đầu là "SX" hoặc "HC".
 
Mình đang làm hàm if và hàm or kết hợp với nhau nhưng không biết làm sai chỗ nào mà không ra được kết quả mong mọi người hướng dẫn dùm. Bài này như sau Phụ cấp=Lương * 10% đối với các NV có mã NV mang 2 ký tự đầu là "SX" hoặc "HC".
Nếu không có 2 ký tự đầu như vậy thì phụ cấp = 0?
Bạn sử dụng công thức sau:
Mã:
=Lương*IF(OR(LEFT(Mã,2)="SX",LEFT(Mã,2)="HC"),10%,0)
Hoặc:
Mã:
=Lương*OR(LEFT(Mã,2)="SX",LEFT(Mã,2)="HC")*10%
 
Ôi lâu quá rùi không dùng đến công thức. Mình loay hoay mãi cái công thức này mà không ra được mình diễn giải như sau mong mọi người giúp mình với.
=IF(OR(E14<>0,F14<>0),IF(AND($C$6=PS!H14,CTCno!$C$6=PS!I14),PS!I14,PS!H14),"")
Ý của mình là: nếu E14 khác 0 hoặc F14 khác 0 và nếu $C$6 = PS!H14 thì kết quả = I14 còn $C$6 = PS!I14 thì kết quả = H14
Mình không biết cách gửi file lên như thế nào cả. Mong mọi người xem giúp. Xin cảm ơn tất cả mọi người.
 
Ôi lâu quá rùi không dùng đến công thức. Mình loay hoay mãi cái công thức này mà không ra được mình diễn giải như sau mong mọi người giúp mình với.
=IF(OR(E14<>0,F14<>0),IF(AND($C$6=PS!H14,CTCno!$C$6=PS!I14),PS!I14,PS!H14),"")
Ý của mình là: nếu E14 khác 0 hoặc F14 khác 0 và nếu $C$6 = PS!H14 thì kết quả = I14 còn $C$6 = PS!I14 thì kết quả = H14
Mình không biết cách gửi file lên như thế nào cả. Mong mọi người xem giúp. Xin cảm ơn tất cả mọi người.
Bạn sử dụng công thức sau:
PHP:
=IF(OR(E14<>0,F14<>0),IF($C$6=PS!H14,I14,IF($C$6 = PS!I14 ,H14)))
 
Mình xin gửi kèm file để mọi người xem nhé. Xin cảm ơn nhiều nhiều. +-+-+-+
 

File đính kèm

  • Book1.xls
    23.5 KB · Đọc: 22
nếu không thoả 2 đk ấy thì kết quả là bao nhiêu???
phải vậy không
D14=IF(AND($C$6=PS!H14,OR(E14<>0,F14<>0)),PS!I14,PS!H14)
Diễm tả hơi khó hiểu, bạn thử công thức vào xem đúng như ý bạn nói không
 
Lần chỉnh sửa cuối:
nếu không thoả 2 đk ấy thì kết quả là bao nhiêu???
phải vậy không
D14=IF(AND($C$6=PS!H14,OR(E14<>0,F14<>0)),PS!I14,PS!H14)
Diễm tả hơi khó hiểu, bạn thử công thức vào xem đúng như ý bạn nói không
Em xin diễn tả lại như sau:
Khi E14 khác 0 và $C$6=PS!H14 thì kết quả D14=PS!I14 hoặc F14 khác 0 và $C$6=PS!I14 thì kết quả D14=PS!H14 nếu không thỏa mãn thì kết quả trả về là không có gì.
 
Em xin diễn tả lại như sau:
Khi E14 khác 0 và $C$6=PS!H14 thì kết quả D14=PS!I14 hoặc F14 khác 0 và $C$6=PS!I14 thì kết quả D14=PS!H14 nếu không thỏa mãn thì kết quả trả về là không có gì.

Đọc điều kiện của bạn thì có phải thế này chăng:
PHP:
=IF(AND(E14<>0,C6=PS!H14),PS!I14,IF(AND(F14<>0,C6=PS!I14),PS!H14,""))
 
Hàm này bạn viết toàn logical_test, đâu có value_if_true đâu mà nó trả về nên bị lỗi là đúng rồi. Bạn nên xem lại hàm if và hiểu cho đúng nó nha!
 
Bạn có thể nói cho tớ hiểu được không? Bạn viết tớ chẳng hiểu gì cả.

Bạn thử tham khảo cái này xem:

Hàm IF

Hàm đầu tiên tôi muốn bàn tới là hàm IF(). Có lẽ đây là một trong những hàm được dùng nhiều nhất trong các bảng tính Excel.
Cái lập luận:
"Nếu tôi tôi đúng thì làm cho tôi cái này, nếu tôi sai thì làm cho tôi cái kia".. Có lẽ trong chúng ta ai cũng hiểu.
Vậy tôi sẽ không giải nghĩa nhiều về hàm này, mà sẽ dùng các ví dụ để minh họa.


Một tình huống đơn giản nhất

Cú pháp: IF(logical_test, value_is_true)

_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

Ví dụ:

=IF(A1 >= 1000, "It’s big!")
Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là FALSE.

Một ví dụ khác, giả sử bạn có một bảng đánh giá mức độ bán ra, mua vào của một danh mục hàng hóa dài, và bạn muốn theo dõi những mặt hàng có doanh số bán ra không đạt yêu cầu để điều chỉnh chiến lược kinh doanh của mình, bằng cách gán những dấu
"<" bên cạnh nó, hễ phần trăm doanh số càng thấp thì những dấu hiệu "<" càng nhiều...

Bạn có thể dùng hàm IF(), theo mẫu:

=IF(cell<0, flag)

Với cell là giá trị doanh số mà bạn muốn theo dõi, và flag là dấu hiệu để mô tả, ví dụ, cell chứa giá trị doanh số là B2:
=IF(B2<0, "<<<<<")

Để những dấu "<" tỷ lệ thuận với mức sụt giảm doanh số bán hàng, bạn có thể dùng hàm REPT(), với công thức:
REPT("<" , B2 * -100)

Ở đây, phải nhân giá trị của B2 với -100, bởi vì chúng ta chỉ xét những trường hợp B2<0

Và công thức hoàn chỉnh để thể hiện mức độ sụt giảm doanh số của từng mặt hàng sẽ là:

=IF(B2<0, REPT("<" , B2 * -100))

Xử lý trường hợp xảy ra khi biểu thức sai (FALSE)

Xem hình trên, có lẽ bạn sẽ không thích thấy những chữ FALSE hiện ra khi giá trị trong cột B lớn hơn không.
Tuy rằng cứ để vậy thì công thức của chúng ta vẫn đúng, tuy nhiên "không đẹp", nên chăng ta thay các chữ
FALSE đó bằng những ký tự rỗng, những ký tự trắng ?

Chúng ta sẽ dùng hàm IF() với cấu trúc sau:

Cú pháp:
IF(logical_test, value_is_true, value_is_false)

_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

_____
value_is_false: giá trị trả về khi biểu thức logical_test được kiểm tra là không đúng (FALSE)

Ví dụ:

=IF(A1 >= 1000, "It’s big!", "It’s not big!")

Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là "It's not big!"

Trở lại ví dụ về theo dõi mức sụt giảm doanh số bán ra ở trên, để không còn thấy những chữ
FALSE, chúng ta sẽ sửa lại công thức:
=IF(B2<0, REPT("<" , B2 * -100), "")

Xử lý trường hợp chia cho 0


Đôi khi, do không để ý, trong bảng tính của chúng ta sẽ gặp phải những trường hợp chia cho số 0. Những khi đó, Excel sẽ báo lỗi là #DIV/0!

Để tránh xảy ra trường hợp này, có thể dùng hàm IF().

Ví dụ: Với A= doanh số bán ra, B= chi phí, thì lỷ lệ lợi nhuận có thể tính như sau
=IF(A <> 0 , (A-B)/A, "Doanh số bán = 0!")
 
Các bạn cho mình hỏi mình muốn lồng 3 công thức cho cột B1 nếu cột A1 thay đổi giá trị
VD: nếu A1 = 1 thì B1 sẽ = 4, nếu A1 = 2 thì B1 = 5, nếu A1 = 0 thì B1 = 7 thì đặt công thức như thế nào
Mình chỉ làm được 1 công thức thôi
B1:=IF(A1=1,4)
Các bạn chỉ giúp mình với nhé.....
Mình đang mò mẫm tập làm thôi ^..^
 
Trợ giúp hàm ì tra cứu chuỗi ra chuỗi từ chuỗi của sheet khác

T1-13
T2-13
T3-13
Ket qua
KK
TT
TT
'=IF(OR(C5="KK",D5="KK",E5="KK"),"KK","TT")
N/A
KK
N/A
KK
N/A
TT
TT
TT

mình làm bảng tính trên với dữ liệu 3 cột trên thì ok nhưng dữ liệu 3 cột trên là do mình dùng vloopkup tìm ở 3 sheet khác (mỗi cột T1-13 là ở 1 sheet, T2-13 là tìm ở sheet khác) của file excel về thì báo N/A. các bạn chỉ giúp mình. Xin cảm ơn
 
Lần chỉnh sửa cuối:
mình làm bảng tính trên với dữ liệu 3 cột trên thì ok nhưng dữ liệu 3 cột trên là do mình dùng vloopkup tìm ở 3 sheet khác (mỗi cột T1-13 là ở 1 sheet, T2-13 là tìm ở sheet khác) của file excel về thì báo N/A. các bạn chỉ giúp mình. Xin cảm ơn

vài lời góp ý với bạn như sau:
1. Bạn nên xem lại bài viết của mình trước khi post lên. Bạn post cái bảng mà nó chẳng giống cái bảng và người đọc cũng chẳng hiểu nội dung cái bảng đó có cái gì. Ko hiểu đồng nghĩa ko ai để ý đến đâu.
2. Bạn nên đưa file lên cho tiện nhé.

Thân.
 
Các bạn cho mình hỏi mình muốn lồng 3 công thức cho cột B1 nếu cột A1 thay đổi giá trị
VD: nếu A1 = 1 thì B1 sẽ = 4, nếu A1 = 2 thì B1 = 5, nếu A1 = 0 thì B1 = 7 thì đặt công thức như thế nào
Mình chỉ làm được 1 công thức thôi
B1:=IF(A1=1,4)
Các bạn chỉ giúp mình với nhé.....
Mình đang mò mẫm tập làm thôi ^..^

Bạn thử như sau: Công thức cho B1: =if(A1="","",if(A1=0,7,if(A1=2,5,4))). Mình có thêm vào là nếu A1 trống thì B1 cũng trống nhé. Hy vọng đúng ý bạn.

Bạn có viết trong bài của bạn B1:=IF(A1=1,4) công thức này thiếu nha bạn. Hàm IF cần có 2 dữ kiện là nếu ĐÚNG thì... còn SAI thì.... Bạn nên tham khảo thêm.
 
Lần chỉnh sửa cuối:
Untitled.jpgUntitled.jpg
các pro chỉ giúp e bài này với
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom