Hàm nối IF - AND - OR (1 người xem)

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

Katakaori

Thành viên mới
Tham gia
26/8/10
Bài viết
27
Được thích
1
Em chào các anh,
Em có một bảng biểu như trong file đính kèm, nhưng nhiều Công thức kết hợp quá nên em bị loạn.

Em đã thử lập công thức dưới đây nhưng kết quả ra FALSE (dù đây là gợi ý của Excel) //////:
=IF(AND(OR(C11="SRV",C11="SAL"),E11="Y"),AND(IF(AD11>10, 2000000),IF(AND(AD11>0,AD11<10),1000000),0))

Hình như đoạn sau có vấn đề nhưng em không biết nên chỉnh thế nào cho hợp lý. Nhờ các anh chỉ giúp với.

Em chân thành cám ơn.
 

File đính kèm

Em chào các anh,
Em có một bảng biểu như trong file đính kèm, nhưng nhiều Công thức kết hợp quá nên em bị loạn.

Em đã thử lập công thức dưới đây nhưng kết quả ra FALSE (dù đây là gợi ý của Excel) //////:
=IF(AND(OR(C11="SRV",C11="SAL"),E11="Y"),AND(IF(AD11>10, 2000000),IF(AND(AD11>0,AD11<10),1000000),0))

Hình như đoạn sau có vấn đề nhưng em không biết nên chỉnh thế nào cho hợp lý. Nhờ các anh chỉ giúp với.

Em chân thành cám ơn.



Bạn tham khảo CT này
HTML:
D3=IF(AND(C3>0,C3<10,OR(B3="SER",B3="SAL")),1000000,IF(AND(C3>10,OR(B3="SER",B3="SAL")),2000000,0))
 
Em xin lỗi,em bị thiếu điều kiện: Phải có bằng lái xe mới được nhậntiền.
Em đã chỉnh lại yêu cầu trong file đính kèm. Nhờ anh xem lại giúp em được không ạ?
Em xin lỗi vì làm phiền anh vào buổi trưa thế này.
- Em - View attachment Nhờ các anh Giải pháp Excel.xls
 
Em xin lỗi,em bị thiếu điều kiện: Phải có bằng lái xe mới được nhậntiền.
Em đã chỉnh lại yêu cầu trong file đính kèm. Nhờ anh xem lại giúp em được không ạ?
Em xin lỗi vì làm phiền anh vào buổi trưa thế này.
- Em - View attachment 170142
Bạn xem CT nhé!

HTML:
E3=IF(AND(D3>0,D3<10,C3="Y",OR(B3="SER",B3="SAL")),1000000,IF(AND(D3>10,C3="Y",OR(B3="SER",B3="SAL")),2000000,0))
 
Em xin lỗi,em bị thiếu điều kiện: Phải có bằng lái xe mới được nhậntiền.
Em đã chỉnh lại yêu cầu trong file đính kèm. Nhờ anh xem lại giúp em được không ạ?
Em xin lỗi vì làm phiền anh vào buổi trưa thế này.
- Em - View attachment 170142
Còn mức bằng 10 sao không có bạn:
Bạn dùng CT này tại E3:
Mã:
E3=OR(B3={"SER","SAL"})*(C3="Y")*(MATCH(D3,{0,0.5,[B][COLOR=#ff0000]10[/COLOR][/B]},1)-1)*10^6
Fill xuống!!!
nếu CT chưa đúng sữa chỗ màu đỏ lại thành 10.5!!!
 
Em xin lỗi,em bị thiếu điều kiện: Phải có bằng lái xe mới được nhậntiền.
Em đã chỉnh lại yêu cầu trong file đính kèm. Nhờ anh xem lại giúp em được không ạ?
Em xin lỗi vì làm phiền anh vào buổi trưa thế này.
- Em - View attachment 170142
Chào Katakaori,

Góp thêm một công thức nữa, cho phong phú:
Mã:
D3=COUNT(INDEX(1/COUNTIFS(B3,{"SER","SAL"},C3,"Y"),))*(MATCH(D3,{0,1,10.1},1)-1)*10^6
Fill xuống

Chúc bạn ngày vui.
p/s: anh em lại "đá" trùng ý, khà khà khà! }}}}}}}}}}}}}}}
 
Uây, sao các anh biết nhiều công thức mà em chóng hết cả mặt.
==> 1/ Em sẽ lắp thử công thức tính.
2/ Cứ mối lần được các anh em trên GPE giúp 1 công thức, là em lại phải ngâm cứu xem tại sao các bác lại dùng các công thức đó ;;;;;;;;;;;

Để em thử nhé. Xin cám ơn anh em trước.
 
Khà khà khà!

Chủ thớt đưa điều kiện hơi "quái": nhỏ hơn 10 hoặc lớn hơn 10, còn bằng 10 thì không thấy ở đâu hết! làm anh em mình đoán mò, của em thì >=10, còn của anh thì <=10.

Thôi, cũng chìu em trai chút vậy:
Mã:
E3=COUNT(INDEX(1/COUNTIFS(B3,{"SER","SAL"},C3,"Y"),))*(MATCH(D3,{0,0.1,10},1)-1)*10^6

Fill xuống.

Chịu chưa em trai! khà khà khà /-*+//-*+//-*+/
 
Khà khà khà!

Chủ thớt đưa điều kiện hơi "quái": nhỏ hơn 10 hoặc lớn hơn 10, còn bằng 10 thì không thấy ở đâu hết! làm anh em mình đoán mò, của em thì >=10, còn của anh thì <=10.

Thôi, cũng chìu em trai chút vậy:
Mã:
E3=COUNT(INDEX(1/COUNTIFS(B3,{"SER","SAL"},C3,"Y"),))*(MATCH(D3,{0,0.1,10},1)-1)*10^6

Fill xuống.

Chịu chưa em trai! khà khà khà /-*+//-*+//-*+/
Tại em mải nghĩ tới các anh nên quên béng dấu =10 -\\/. %#^#$

Huhu, mà anh nào có cách dùng IF - AND - OR không để em dễ thông, mấy công thức của các anh cao siêu thế.....Nhưng để em cứ thử xem nhé..

P/S 1: Em chả hiểu sao trong công thức của các anh chả thể hiện số 1min hay 2 min gì vậy ta????? -+*/
(Em hơi ngu Excel, các bác cứ chửi rủa em nếu thích, tai em cũng hơi điếc nữa mừ :.,:.,:.,:.,.....)

P/S 2: Em hổng phải con jai ^^.

P/S 3: Đã thử công thức của anh. Chuẩn men luôn anh ạ. Em cám ơn anh! (dù hổng hiểu tại sao lại có công thức đó)....
 
Lần chỉnh sửa cuối:
Uây, sao các anh biết nhiều công thức mà em chóng hết cả mặt.
==> 1/ Em sẽ lắp thử công thức tính.
2/ Cứ mối lần được các anh em trên GPE giúp 1 công thức, là em lại phải ngâm cứu xem tại sao các bác lại dùng các công thức đó ;;;;;;;;;;;

Để em thử nhé. Xin cám ơn anh em trước.
Chào KataKaori,

(Sao nghe giống Hiragana, Katakana hoặc Kanzi quá dzậy!! --=0--=0)

Hoa thì có nhiều loại, vậy công thức cũng muôn màu muôn vẻ, miễn sao bạn thích mùi hương của "hoa" nào thì tùy theo cái nào hợp với tâm tình của bạn thôi.

Chúc bạn thưởng thức các loại "hoa" vui.
 
Tại em mải nghĩ tới các anh nên quên béng dấu =10 -\\/. %#^#$

Huhu, mà anh nào có cách dùng IF - AND - OR không để em dễ thông, mấy công thức của các anh cao siêu thế.....Nhưng để em cứ thử xem nhé..

P/S: Em chả hiểu sao trong công thức của các anh chả thể hiện số 1min hay 2 min gì vậy ta????? -+*/
(Em hơi ngu Excel, các bác cứ chửi rủa em nếu thích, tai em cũng hơi điếc nữa mừ :.,:.,:.,:.,.....)
Bạn dùng công thức của leoheocon, hoặc anhtuan2012 dễ hiểu hơn.

Chúc bạn ngày vui.
 
Chào KataKaori,

(Sao nghe giống Hiragana, Katakana hoặc Kanzi quá dzậy!! --=0--=0)

Hoa thì có nhiều loại, vậy công thức cũng muôn màu muôn vẻ, miễn sao bạn thích mùi hương của "hoa" nào thì tùy theo cái nào hợp với tâm tình của bạn thôi.

Chúc bạn thưởng thức các loại "hoa" vui.

Bác tinh đấy! Chuẩn luôn!
 
Khà khà khà!

Chủ thớt đưa điều kiện hơi "quái": nhỏ hơn 10 hoặc lớn hơn 10, còn bằng 10 thì không thấy ở đâu hết! làm anh em mình đoán mò, của em thì >=10, còn của anh thì <=10.

Thôi, cũng chìu em trai chút vậy:
Mã:
E3=COUNT(INDEX(1/COUNTIFS(B3,{"SER","SAL"},C3,"Y"),))*(MATCH(D3,{0,0.1,10},1)-1)*10^6

Fill xuống.

Chịu chưa em trai! khà khà khà /-*+//-*+//-*+/
Khà khà, phá chơi vậy mà!!!
 
Cám ơn sự giúp đỡ của các anh. Ổn rồi ạ.

P/S: Em hỏi ngoài lề 1 tí: Máy em dùng Win7 Enterprise, Excel 2013. Khoảng 4 tháng nay, Excel rất hay bị lỗi đơ pending các anh ạ. Tức là em mà thao tác trên Excel 1 hồi là khỏi copy/paste/memo/print...gì luôn ==> Em phải mở sheet mới để đánh abcd lên thì quay lại sheet cũ mới được. Đã nhờ các bạn IT chỉnh sửa nhưng có vẻ không phải lỗi setup các anh ạ.....Lỗi Microsoft ạ? Làm sao để em không phải gặp lại lỗi này nữa????
 
Tại em mải nghĩ tới các anh nên quên béng dấu =10 -\\/. %#^#$

Huhu, mà anh nào có cách dùng IF - AND - OR không để em dễ thông, mấy công thức của các anh cao siêu thế.....Nhưng để em cứ thử xem nhé..

P/S 1: Em chả hiểu sao trong công thức của các anh chả thể hiện số 1min hay 2 min gì vậy ta????? -+*/
(Em hơi ngu Excel, các bác cứ chửi rủa em nếu thích, tai em cũng hơi điếc nữa mừ :.,:.,:.,:.,.....)

P/S 2: Em hổng phải con jai ^^.

P/S 3: Đã thử công thức của anh. Chuẩn men luôn anh ạ. Em cám ơn anh! (dù hổng hiểu tại sao lại có công thức đó)....
Chào Katakaori,

1. Công thức của anhtuan2012 thì theo cách suy luận thông dụng: dùng IF để phân các mức điều kiện (chắc không cần giải thích bạn cũng sẽ hiểu công thức này)
Điều chỉnh chút theo ý của bạn với điều kiện >=10.
D3=IF(AND(C3>0,C3<10,OR(B3="SER",B3="SAL")),1000000,IF(AND(C3>=10,OR(B3="SER",B3="SAL")),2000000,0))
2. Hai công thức của leoheocon và quocgiacan cấu trúc gồm 2 mệnh đề: A x B (A*B)
Phần A: là lọc theo điều số 1 trong file kèm của bạn ghi:
(1/ Nếu là SER hay SAL và phải có bằng lái xe (Y ở cột C) mới được nhận tiền)

Phần B: là lọc theo điều kiện 2 trong file kèm của bạn ghi, nhưng thay vì dùng IF() để phân các mức: 0, <10 , >=10 thì dùng MATCH(.."so sánh 3 cấp"...)-1 để so, sao cho nó ở mức nào thì trả về "cấp": 1 hoặc 2 hoặc 3, sau đó nó nhân với 10^6 (tức: 1.000.000)
cấp 1: nếu C3 bằng 0 => 0 x 10^6 = 0
cấp 2: nếu C3>0 và <10 => 1 x 10^6 = 1.000.000
cấp 3: nếu C3>10 => 2 x 10^6 = 2.000.000

Chúc bạn vui cùng GPE. }}}}}}}}}}}}}}}
 
Lần chỉnh sửa cuối:
Cám ơn sự giúp đỡ của các anh. Ổn rồi ạ.

P/S: Em hỏi ngoài lề 1 tí: Máy em dùng Win7 Enterprise, Excel 2013. Khoảng 4 tháng nay, Excel rất hay bị lỗi đơ pending các anh ạ. Tức là em mà thao tác trên Excel 1 hồi là khỏi copy/paste/memo/print...gì luôn ==> Em phải mở sheet mới để đánh abcd lên thì quay lại sheet cũ mới được. Đã nhờ các bạn IT chỉnh sửa nhưng có vẻ không phải lỗi setup các anh ạ.....Lỗi Microsoft ạ? Làm sao để em không phải gặp lại lỗi này nữa????
Bạn nên hỏi vấn đề này trên một chủ đề mới thì có nhiều cơ hội được anh em GPE giúp đỡ nhanh hơn.

Chúc bạn ngày vui.
 
Cám ơn sự giúp đỡ của các anh. Ổn rồi ạ.

P/S: Em hỏi ngoài lề 1 tí: Máy em dùng Win7 Enterprise, Excel 2013. Khoảng 4 tháng nay, Excel rất hay bị lỗi đơ pending các anh ạ. Tức là em mà thao tác trên Excel 1 hồi là khỏi copy/paste/memo/print...gì luôn ==> Em phải mở sheet mới để đánh abcd lên thì quay lại sheet cũ mới được. Đã nhờ các bạn IT chỉnh sửa nhưng có vẻ không phải lỗi setup các anh ạ.....Lỗi Microsoft ạ? Làm sao để em không phải gặp lại lỗi này nữa????
(Tham gia cái nội dung rìa rìa)

Bạn liên hệ với bên cung cấp phần mềm để họ khắc phục.

Nếu sử dụng phần mềm miễn phí thì ráng chịu hoặc sử dụng bản setup khác.
 
Chào Katakaori,

2. Hai công thức của leoheocon và quocgiacan cấu trúc gồm 2 mệnh đề: A x B (A*B)
Phần A: là lọc theo điều số 1 trong file kèm của bạn ghi:


Phần B: là lọc theo điều kiện 2 trong file kèm của bạn ghi, nhưng thay vì dùng IF() để phân các mức: 0, <10 , >=10 thì dùng MATCH(.."so sánh 3 cấp"...)-1 để so, sao cho nó ở mức nào thì trả về "cấp": 1 hoặc 2 hoặc 3, sao đó nó nhân với 10^6 (tức: 1.000.000)
cấp 1: nếu C3 bằng 0 => 0 x 10^6 = 0
cấp 2: nếu C3>0 và <10 => 1 x 10^6 = 1.000.000
cấp 3: nếu C3>10 => 2 x 10^6 = 2.000.000

Chúc bạn vui cùng GPE. }}}}}}}}}}}}}}}

Anh ơi,
Anh đã giúp em thì giúp cho trót với.
Em vừa đọc về hàm MATCH, cái số 0 (khớp 100%) , 1 (less than) hay -1 (more than) đằng sau ngoặc là sao anh? Lớn/nhỏ/bằng là so với cái gì? Tại sao trong công thức trên các anh lại dùng -1?
 
Anh ơi,
Anh đã giúp em thì giúp cho trót với.
Em vừa đọc về hàm MATCH, cái số 0 (khớp 100%) , 1 (less than) hay -1 (more than) đằng sau ngoặc là sao anh? Lớn/nhỏ/bằng là so với cái gì? Tại sao trong công thức trên các anh lại dùng -1?
Nguyên mẫu công thức: ( MATCH(D3,{0,0.1,10},1) -1 ) * 10^6


  • {0,0.1,10} : mảng chia các cấp để so gồm: 0 \ 0.1 \ 10 ==> gồm có 3 cấp, theo thứ tự : 1 \ 2 \ 3 (ghi chú: cũng có thể hiểu là số dòng, hoặc số cột tùy theo bài)


  • MATCH(D3,{0,0.1,10},1) : MATCH(,1) dùng để "so khớp" tương đối giá trị D3, đem so với cấp (mảng) ở trên. Nó sẽ tìm giá trị nào "lớn hơn hoặc bằng" với các mức ghi trong cấp (mảng), tức ý nghĩa là: { 0<=D3<0.1 ; 0.1<=D3<10 ; 10<=D3 }, nó sẽ cho kết quả của cấp tương xứng: hoặc 1 hoặc 2 hoặc 3


  • MATCH(D3,{0,0.1,10},1) -1 : Sau khi có kết quả (như trên vừa giải thích) thì đem trừ cho 1: tức sẽ cho ra 0 hoặc 1 hoặc 2


  • Cuối cùng nhân cho 10^6 (=1.000.000), tức cho ra hoặc 0 hoặc 1.000.000 hoặc 2.000.000 như đề bài yêu cầu.


Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
Anh ơi,
Anh đã giúp em thì giúp cho trót với.
Em vừa đọc về hàm MATCH, cái số 0 (khớp 100%) , 1 (less than) hay -1 (more than) đằng sau ngoặc là sao anh? Lớn/nhỏ/bằng là so với cái gì? Tại sao trong công thức trên các anh lại dùng -1?

Bạn gặp đúng thầy rồi nhé!
 
Bạn gặp đúng thầy rồi nhé!
Anh em cùng dân "trâu cày" chỉ bảo nhau một chút, chứ thầy cô gì ở đây em! /-*+//-*+//-*+/

Tại thói quen của leoheocon và anh khoái tìm hàm nào là lạ để xử lý vấn đề nên riết như dân "nghiện". Ví dụ: cũng cùng chức năng như hàm MATCH(,1) trên thì còn các hàm khác, như:

  • .......* IF(D3>=10,2,IF(D3>=0.1,1,0)) *10^6
  • .......* LOOKUP(D3,{0,0.1,10},{0,1,2}) *10^6
  • .......* (SUMPRODUCT((D3>={0,0.1,10})*1)-1) *10^6
Trong đầu lúc nào cũng nghĩ trước đến hàm MATCH(), vì nó ngắn hơn và "dễ thương" hơn, chỉ đơn giản vậy thôi. --=0
  • .......* (MATCH(D3,{0,0.1,10},1)-1) *10^6

Chúc em ngày vui.
 
Anh em cùng dân "trâu cày" chỉ bảo nhau một chút, chứ thầy cô gì ở đây em! /-*+//-*+//-*+/

Tại thói quen của leoheocon và anh khoái tìm hàm nào là lạ để xử lý vấn đề nên riết như dân "nghiện". Ví dụ: cũng cùng chức năng như hàm MATCH(,1) trên thì còn các hàm khác, như:

  • .......* IF(D3>=10,2,IF(D3>=0.1,1,0)) *10^6
  • .......* LOOKUP(D3,{0,0.1,10},{0,1,2}) *10^6
  • .......* (SUMPRODUCT((D3>={0,0.1,10})*1)-1) *10^6
Trong đầu lúc nào cũng nghĩ trước đến hàm MATCH(), vì nó ngắn hơn và "dễ thương" hơn, chỉ đơn giản vậy thôi. --=0
  • .......* (MATCH(D3,{0,0.1,10},1)-1) *10^6

Chúc em ngày vui.
Khoái anh có nhiêu thôi, nhiệt tình /-*+//-*+//-*+//-*+/!!!
 
Anh cũng theo dõi topic đó à. }}}}}}}}}}

Rất thích cách dùng từ của anh anhtuan2012,

Chúc các anh tối vui!
Anh không dám bỏ sót bài của anh em, vì chắc chắn hay và để học hỏi thêm. Đôi khi tự mắc cở và thầm phục những ý tưởng hay của anh em.

Lại đôi khi tự buồn vì gặp phải những tranh luận không cần thiết sẽ dẫn đến mất hòa khí. Anh chỉ muốn điều đơn giản: anh em mình lúc nào cũng hả hê vui cười và cùng nhau hỗ trợ anh em cần sự giúp đỡ trong Excel.

Anh chỉ là "trâu cày", là "bạn", là anh em chiến hữu. }}}}}}}}}}}}}}}
 
Anh em cùng dân "trâu cày" chỉ bảo nhau một chút, chứ thầy cô gì ở đây em! /-*+//-*+//-*+/

Tại thói quen của leoheocon và anh khoái tìm hàm nào là lạ để xử lý vấn đề nên riết như dân "nghiện". Ví dụ: cũng cùng chức năng như hàm MATCH(,1) trên thì còn các hàm khác, như:

  • .......* IF(D3>=10,2,IF(D3>=0.1,1,0)) *10^6
  • .......* LOOKUP(D3,{0,0.1,10},{0,1,2}) *10^6
  • .......* (SUMPRODUCT((D3>={0,0.1,10})*1)-1) *10^6
Trong đầu lúc nào cũng nghĩ trước đến hàm MATCH(), vì nó ngắn hơn và "dễ thương" hơn, chỉ đơn giản vậy thôi. --=0
  • .......* (MATCH(D3,{0,0.1,10},1)-1) *10^6

Chúc em ngày vui.
không tham gia từ đầu tiếc ghê, cũng ráng góp thêm biểu thức cho đủ mặt

  • .......* ((D3>=10)+(D3>=0.1)) *10^6
chúc các bạn 1 tối yên lành//**///**///**/
 
Lần chỉnh sửa cuối:
Lâu lẩu lầu lâu rồi mới vào nghía lại. Cám ơn các anh em nhiệt tình giảng giải.
Nói thật là mình ngu lâu khó đào tạo +-+-+-+ nhưng sau khi đọc bài cũng hơi sáng hơn 1 tí tẹo tèo teo, nhất là lại giải quyết được công việc tồn của mình.
Chúc anh em năm mới vui vẻ nhé.
-=.,,

P/S: Mà Sao các anh không bảo Ad tạo thêm nút Like cho các mục trả lời như các diễn đàn khác (WTT, LCM...) để tiện tặng nghìn Like luôn nhỉ -0-/.
 
Lâu lẩu lầu lâu rồi mới vào nghía lại. Cám ơn các anh em nhiệt tình giảng giải.
Nói thật là mình ngu lâu khó đào tạo +-+-+-+ nhưng sau khi đọc bài cũng hơi sáng hơn 1 tí tẹo tèo teo, nhất là lại giải quyết được công việc tồn của mình.
Chúc anh em năm mới vui vẻ nhé.
-=.,,

P/S: Mà Sao các anh không bảo Ad tạo thêm nút Like cho các mục trả lời như các diễn đàn khác (WTT, LCM...) để tiện tặng nghìn Like luôn nhỉ -0-/.
Đây nè bạn:

https://www.giaiphapexcel.com/forum...a-phục-hồi-lại-nút-THANKS&p=766561#post766561

Chúc bạn học tập vui với gia đình GPE. /-*+//-*+//-*+/
 

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

Back
Top Bottom