Cách kết hợp hàm if và hàm or (5 người xem)

Liên hệ QC

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

hàm IF(OR(and

chào anh chị, anh chị kiểm tra dùm em trong file kế toán excell, phần SCT(sổ chi tiết công nợ), dùng công thức mà số liệu không có gì hết, anh chị giúp em nhé, em cần gấp, vì phần mềm này em chép trên mạng.
 
Tôi đã trả lời bạn cách đây mấy tiếng nhưng không hiểu sao người ta xóa đi.

Công thức cho I3
Mã:
=IF(COUNTIF($D3:$G3;0);0;VLOOKUP($H3;$B$15:$D$18;3;0))

Em nghĩ người ta xóa bài là vì không gõ dấu tiếng Việt => Phạm quy

Ngay cả bài này cũng thế:

 
Em nghĩ người ta xóa bài là vì không gõ dấu tiếng Việt => Phạm quy

Ngay cả bài này cũng thế:

Tôi không dám chắc nhưng nếu không lầm thì bài được viết bằng tiếng Việt.
Bài này thì không có dấu tiếng Việt rồi nhưng tôi cố tình trả lời và cầu nguyện cho người hỏi đọc được trước khi bị xóa.
Vì tiếc công lắm. Nếu bạn bỏ công ra gõ một bài dài - bài kia tôi viết dài, có mô tả vì sao lại sai ... - mà bị xóa không giúp được ai thì bạn chắc cũng tiếc công. Tôi tiếc công nên cố giúp cho bằng được. Cho bõ công đã bỏ ra.
 
Tôi không dám chắc nhưng nếu không lầm thì bài được viết bằng tiếng Việt.
Bài này thì không có dấu tiếng Việt rồi nhưng tôi cố tình trả lời và cầu nguyện cho người hỏi đọc được trước khi bị xóa.
Vì tiếc công lắm. Nếu bạn bỏ công ra gõ một bài dài - bài kia tôi viết dài, có mô tả vì sao lại sai ... - mà bị xóa không giúp được ai thì bạn chắc cũng tiếc công. Tôi tiếc công nên cố giúp cho bằng được. Cho bõ công đã bỏ ra.

vì chủ thớt post bài 2 chổ, còn một cái bên "chuyên đề bài tập", bài bên đó vẫn còn, giảng giải rất chi tiết
bài #774
http://www.giaiphapexcel.com/forum/...huyên-đề-giải-đáp-các-bài-tập-(Phần-2)/page78
 
vì chủ thớt post bài 2 chổ, còn một cái bên "chuyên đề bài tập", bài bên đó vẫn còn,

Bài tôi nói đến chính là bài #773 - có viết dấu tiếng Việt, và bài của tôi là #774.
Hôm qua tôi kiểm tra thì không thấy.
 
Dear all,
Giúp mình làm công thức if cho điều kiện dưới đây:

Nếu nghỉ không lương >0, thì không được chuyên cần
Nếu ngày nghỉ việc trước ngày 25/07/2013 thì không được chuyên cần
Nếu đi trể về sớm dưới 1 h=1 lần thì được 225000 ,Nếu đi trể về sớm dưới 1 h=2 lần thì được 150000, Nếu đi trể về sớm dưới 1 h>=3lần thì không được chuyên cần
Cảm ơn mọi người nhiều!
 
Nếu nghỉ không lương >0, thì không được chuyên cần
Nếu ngày nghỉ việc trước ngày 25/07/2013 thì không được chuyên cần
Nếu đi trể về sớm dưới 1 h=1 lần thì được 225000 ,Nếu đi trể về sớm dưới 1 h=2 lần thì được 150000, Nếu đi trể về sớm dưới 1 h>=3lần thì không được chuyên cần
Cảm ơn mọi người nhiều!
Bạn có thể đặt IF như sau:
=if(or(nghỉ không lương>0,ngày nghỉ việc>date(2013,7,25),dtvs>=3),0,if(dtvs=1,225000,150000))
 
1. Tại sao hàm Or không cho xét theo kiểu:
A1 = 1
Tại B1: =A1=OR(1,2,3).
Kết quả: False. Có cao sư nào giải thích giúp.
2. Để excel trả về quý (đã có tháng cho trước) thường sử dụng công thức nào cho gọn vậy? Mong các bạn chỉ giúp
 
1. Tại sao hàm Or không cho xét theo kiểu:
A1 = 1
Tại B1: =A1=OR(1,2,3).
Kết quả: False. Có cao sư nào giải thích giúp.
2. Để excel trả về quý (đã có tháng cho trước) thường sử dụng công thức nào cho gọn vậy? Mong các bạn chỉ giúp
Tôi nghĩ phải như thế này chứ: =OR(A1=1,A1=2,A1=3)
 
Em mới học chưa biết kết hợp mấy lệnh này, các bác giúp e ạ
 

File đính kèm

các bác giúp em công thức này bị sai ở đâu với huhu:
[TABLE="width: 162"]
[TR]
[TD]IF(OR(D5="HCM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*2530)+19500,IF(B5<30.1,(B5*2381),IF(B5<50.1,(B5*2330),IF(B5<100.1,(B5*1900),IF(B5<500.1,(B5*1862),IF(B5<1000.1,(B5*1010),B5*760))))))))+IF(OR(D5="DNI",D5="BDG",D5="LAN",D5="TGG",D5="BTE",D5="TNH"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3160)+19500,IF(B5<30.1,(B5*3097),IF(B5<50.1,(B5*2970),IF(B5<100.1,(B5*2400),IF(B5<500.1,(B5*2352),IF(B5<1000.1,(B5*2360),B5*2310))))))))+IF(OR(D5="VTU",D5="BTN",D5="BPC",D5="DTP",D5="VLG",D5="TVH",D5="AGG",D5="KGG",D5="CTO",D5="HUG",D5="STG",D5="BLU"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3670)+19500,IF(B5<30.1,(B5*3597),IF(B5<50.1,(B5*3450),IF(B5<100.1,(B5*3160),IF(B5<500.1,(B5*3097),IF(B5<1000.1,(B5*3100),B5*3040))))))))+IF(OR(D5="HNI",D5="DNG"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*5190)+19500,IF(B5<30.1,(B5*5086),IF(B5<50.1,(B5*4880),IF(B5<100.1,(B5*4430),IF(B5<500.1,(B5*4341),IF(B5<1000.1,(B5*4330),B5*4210)))))))),IF(OR(D5="NAN",D5="HTH",D5="LSN",D5="HPG",D5="HDG",D5="HYN",D5="HNM",D5="NDH",D5="TBH",D5="BNH",D5="BGG",D5="YBN",D5="BKN",D5="PHO",D5="DKG",D5="LDG",D5="NTN",D5="HUE",D5="QTI",D5="GLI",D5="PYN",D5="KHA",D5="QBH",D5="QNM",D5="QNI",D5="BDH",D5="YBI",D5="LCU",D5="BCN"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810))))))))+(IF(OR(D5="CBG",D5="TNN",D5="DBN",D5="TQG",D5="SLA",D5="LCI",D5="HGG",D5="VPC",D5="PHO",D5="HBH",D5="NBH",D5="THA",D5="CMU",D5="QNH",D5="LDG",D5="DLK",D5="KTM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810)))))))))[/TD]
[/TR]
[/TABLE]
 
Lần chỉnh sửa cuối:
Bó tay chịu trói
IF(OR(D5="HCM"),... nhìn như vậy là biết dư thằng OR rồi. bạn đừng quăn bài tứ lung tung như vậy làm người ta sẽ không giúp bạn. Bạn nên nói rõ yêu cầu và cho file cụ thể, tôi sẽ giúp cho chứ nhìn vào công thức như vậy tôi và những thành viên khác sẽ chạy mất dép
 
Lần chỉnh sửa cuối:
Dear Mr Phihndhsp
Cảm ơn vì thông tin phản hồi và sự hỗ trợ từ bạn, về công thức mình đang làm cụ thể yêu cầu như sau:
- nếu D5 (tỉnh đến) là HCM mà B5 (trọng lượng) nhỏ hơn 2,1kg thì bằng 19500 vnđ ... (các điều kiện tiếp theo như công thưc)
- trong qua trình mình làm thì sảy ra như sau, nếu mình tách công thức thành 2 thì công thức đúng nhưng để thành một thì công thức sai cụ thể như sau:
* Công thức tách làm 2:
- CT1:
IF(OR(D5="HCM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*2530)+19500,IF(B5<30.1,(B5*2381),IF(B5<50.1,(B5*2330),IF(B5<100.1,(B5*1900),IF(B5<500.1,(B5*1862),IF(B5<1000.1,(B5*1010),B5*760))))))))+IF(OR(D5="DNI",D5="BDG",D5="LAN",D5="TGG",D5="BTE",D5="TNH"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3160)+19500,IF(B5<30.1,(B5*3097),IF(B5<50.1,(B5*2970),IF(B5<100.1,(B5*2400),IF(B5<500.1,(B5*2352),IF(B5<1000.1,(B5*2360),B5*2310))))))))+IF(OR(D5="VTU",D5="BTN",D5="BPC",D5="DTP",D5="VLG",D5="TVH",D5="AGG",D5="KGG",D5="CTO",D5="HUG",D5="STG",D5="BLU"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3670)+19500,IF(B5<30.1,(B5*3597),IF(B5<50.1,(B5*3450),IF(B5<100.1,(B5*3160),IF(B5<500.1,(B5*3097),IF(B5<1000.1,(B5*3100),B5*3040))))))))+IF(OR(D5="HNI",D5="DNG"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*5190)+19500,IF(B5<30.1,(B5*5086),IF(B5<50.1,(B5*4880),IF(B5<100.1,(B5*4430),IF(B5<500.1,(B5*4341),IF(B5<1000.1,(B5*4330),B5*4210))))))))
- CT 2:
[TABLE="width: 133"]
[TR]
[TD="class: xl79, width: 133, align: left"]IF(OR(D5="NAN",D5="HTH",D5="LSN",D5="HPG",D5="HDG",D5="HYN",D5="HNM",D5="NDH",D5="TBH",D5="BNH",D5="BGG",D5="YBN",D5="BKN",D5="PHO",D5="DKG",D5="LDG",D5="NTN",D5="HUE",D5="QTI",D5="GLI",D5="PYN",D5="KHA",D5="QBH",D5="QNM",D5="QNI",D5="BDH",D5="YBI",D5="LCU",D5="BCN"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810))))))))+(IF(OR(D5="CBG",D5="TNN",D5="DBN",D5="TQG",D5="SLA",D5="LCI",D5="HGG",D5="VPC",D5="PHO",D5="HBH",D5="NBH",D5="THA",D5="CMU",D5="QNH",D5="LDG",D5="DLK",D5="KTM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810)))))))))
bạn giúp mình nhé
thanks all[/TD]
[/TR]
[/TABLE]
 

File đính kèm

Dear Mr Phihndhsp
Cảm ơn vì thông tin phản hồi và sự hỗ trợ từ bạn, về công thức mình đang làm cụ thể yêu cầu như sau:
- nếu D5 (tỉnh đến) là HCM mà B5 (trọng lượng) nhỏ hơn 2,1kg thì bằng 19500 vnđ ... (các điều kiện tiếp theo như công thưc)
- trong qua trình mình làm thì sảy ra như sau, nếu mình tách công thức thành 2 thì công thức đúng nhưng để thành một thì công thức sai cụ thể như sau:
* Công thức tách làm 2:
- CT1:
IF(OR(D5="HCM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*2530)+19500,IF(B5<30.1,(B5*2381),IF(B5<50.1,(B5*2330),IF(B5<100.1,(B5*1900),IF(B5<500.1,(B5*1862),IF(B5<1000.1,(B5*1010),B5*760))))))))+IF(OR(D5="DNI",D5="BDG",D5="LAN",D5="TGG",D5="BTE",D5="TNH"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3160)+19500,IF(B5<30.1,(B5*3097),IF(B5<50.1,(B5*2970),IF(B5<100.1,(B5*2400),IF(B5<500.1,(B5*2352),IF(B5<1000.1,(B5*2360),B5*2310))))))))+IF(OR(D5="VTU",D5="BTN",D5="BPC",D5="DTP",D5="VLG",D5="TVH",D5="AGG",D5="KGG",D5="CTO",D5="HUG",D5="STG",D5="BLU"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*3670)+19500,IF(B5<30.1,(B5*3597),IF(B5<50.1,(B5*3450),IF(B5<100.1,(B5*3160),IF(B5<500.1,(B5*3097),IF(B5<1000.1,(B5*3100),B5*3040))))))))+IF(OR(D5="HNI",D5="DNG"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*5190)+19500,IF(B5<30.1,(B5*5086),IF(B5<50.1,(B5*4880),IF(B5<100.1,(B5*4430),IF(B5<500.1,(B5*4341),IF(B5<1000.1,(B5*4330),B5*4210))))))))
- CT 2:
[TABLE="width: 133"]
[TR]
[TD="class: xl79, width: 133, align: left"]IF(OR(D5="NAN",D5="HTH",D5="LSN",D5="HPG",D5="HDG",D5="HYN",D5="HNM",D5="NDH",D5="TBH",D5="BNH",D5="BGG",D5="YBN",D5="BKN",D5="PHO",D5="DKG",D5="LDG",D5="NTN",D5="HUE",D5="QTI",D5="GLI",D5="PYN",D5="KHA",D5="QBH",D5="QNM",D5="QNI",D5="BDH",D5="YBI",D5="LCU",D5="BCN"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810))))))))+(IF(OR(D5="CBG",D5="TNN",D5="DBN",D5="TQG",D5="SLA",D5="LCI",D5="HGG",D5="VPC",D5="PHO",D5="HBH",D5="NBH",D5="THA",D5="CMU",D5="QNH",D5="LDG",D5="DLK",D5="KTM"),IF(B5<2.1,19500,IF(B5<10.1,((B5-2)*6260)+19500,IF(B5<30.1,(B5*5831),IF(B5<50.1,(B5*5540),IF(B5<100.1,(B5*5200),IF(B5<500.1,(B5*5096),IF(B5<1000.1,(B5*5070),B5*4810)))))))))
bạn giúp mình nhé
thanks all[/TD]
[/TR]
[/TABLE]
Góp ý với bạn nha. Bạn quăn lên cái file như vậy rồi có 1 đống công thức bắt người ta đọc công thức của bạn rồi suy ra cách làm. Bạn làm như vậy là có trách nhiệm không? như vậy ai sẽ giúp bạn? trong khi đó tôi và những người khác thích thì giúp, không thì thôi, nếu file bạn như vậy, tôi là người đầu tiên chạy mất dép. Trước khi chạy cho bạn lời khuyên. Tôi chỉ xem file sơ sơ thôi và cũng hiểu lờ tờ mờ file của bạn. Bạn nên lập ra 1 cái bản, sau đó dò tìm, nếu dò trúng thì làm cái gì? không trúng thì làm cái gì?... như vậy công thức của bạn sẽ ngắn gọn rất nhiều. Tôi rất kỵ sử dụng if , or , and nhiều lần
 
... về công thức mình đang làm cụ thể yêu cầu như sau:
- nếu D5 (tỉnh đến) là HCM mà B5 (trọng lượng) nhỏ hơn 2,1kg thì bằng 19500 vnđ ... (các điều kiện tiếp theo như công thưc)
- trong qua trình mình làm thì sảy ra như sau, nếu mình tách công thức thành 2 thì công thức đúng nhưng để thành một thì công thức sai cụ thể như sau:...

Lập 1 bảng tính cước phí, dễ cho việc thay đổi và cập nhật:
Công thức trong file:
Mã:
=IF(AND(B3>0,B3<2.1),19500,B3*IFERROR(VLOOKUP(B3,$B$7:$L$14,MATCH(1,INDEX((ISNUMBER(SEARCH(D3,$B$6:$L$6)))*($B$6:$L$6<>""),0),0)),0)+IFERROR(VLOOKUP(B3,$B$7:$L$14,MATCH(1,INDEX((ISNUMBER(SEARCH(D3,$B$6:$L$6)))*($B$6:$L$6<>""),0),0)+1),0))

GPE.jpg
 

File đính kèm

Web KT

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

Back
Top Bottom