IF ฟังก์ชันที่คืนค่าตามเงื่อนไข - Condition Function IF
IF เป็นตัวค้นหาที่มี 2 ทางเลือกคือถูกกับผิด
การทำงานของ IF เหมือนกับการตั้งใจซื้อของขวัญเป็นชุดกาแฟสักชุดแล้วมีเงื่อนไข(IF)คือ1)ชุดกาแฟนี้ต้องไม่แพงเกิน 1000 บาท 2)จ้างเขาห่อเป็นของขวัญด้วยเลย ซึ่งเราจะใช้ IF ตรวจสอบเงื่อนไขที่ 1 ว่าเป็นจริงหรือไม่ (TRUE/FALSE) แล้วค่อยทำตามเงื่อนไขที่ 2
นั่นก็คือ ถ้าชุดกาแฟราคา 999 บาท คือเงื่อนไขเป็นจริง(True)ก็ให้ทำตามทางเลือกที่เป็นจริง, แต่ถ้าชุดกาแฟนี้แพงกว่า 1000 คือเงื่อนไขราคาเป็นเท็จ (False)ก็ให้ทำตามทางเลือกที่เป็นเท็จ
ไวยากรณ์
=IF(logical_test,[value_if_true],[value_if_false])
- logical_test: ค่าหรือเงื่อนไขใดๆ ที่กำหนด และสามารถใช้ประเมิน เพื่อ คืนค่า จริง หรือ เท็จ
- value_if_true: คืนค่า ผลลัพท์ ถ้าเงื่อนไขจาก logical_test เป็นจริง
- Value_if_false:คืนค่า ผลลัพท์ ถ้าเงื่อนไขจาก logical_test เป็นเท็จ
Figure A |
- จากรูป Figure A เงื่อนไขคือ ถ้าคะแนนสอบ (คอลัมท์ C) มากกว่าหรือเท่ากับ 50 ให้ฟังก์ชัน IF คืนค่าคำว่า "สอบผ่าน" แต่ถ้าคะแนน (คอลัมภ์ C) น้อยกว่า 50 ให้คืนค่าคำว่า "ต้องซ่อม"
- เป็นการใช้ฟังก์ชัน IF แบบชั้นเดียว
- Column D เป็นผลลัพท์ของฟังก์ชัน IF ส่วน Column E แสดงรูปแบบฟังก์ชั่นที่ใช้
ตัวอย่างประยุกต์การใช้งาน
จะใช้ข้อมูลตารางด้านล่างที่แสดงอัตราการจ่ายค่าคอมมิชชั่นให้กับพนักงานขายแบบอัตราก้าวหน้า มีเงื่อนไขการจ่ายแบบขั้นบันได กำหนดด้วยปริมาณหน่วยที่ขายได้ในแต่ละเดือน และ แสดงยอดขายของ Sales ไว้ 5 คน คือ Yuta, Tanaka, Adrain, Tom และ Benny การหา Rate คอมมิชชั่น ไม่ยาก แต่หากข้อมูลพนักงาน มีจำนวนมากๆ การใช้ IF จะช่วยให้ง่ายและรวดเร็วกว่า
Row | Column | |||||
---|---|---|---|---|---|---|
A | B | C | D | E | F | |
1 | เป้าขายอัตราก้าวหน้า | Commission | พนักงานขาย | ยอดขายจริง | Rate ที่ได้ | |
2 | หน่วย | Rate.% | ชื่อ | หน่วย | เปอร์เซนต์ | |
3 | 1 | - 6 | 5% | Yuta | 301 | 8% |
4 | 7 | - 30 | 6% | Tanaka | 170 | 7.5% |
5 | 31 | - 100 | 7% | Adrian | 78 | 7% |
6 | 101 | - 300 | 7.50% | Tom | 6 | 5% |
7 | 301 | + | 8% | Benny | 30 | 6% |
- ถ้าขายได้ช่วง 1-6 หน่วยค่าคอม= 5%, ถ้าขายได้ 32 หน่วยจะได้ค่าคอมช่วง 31-100 คือ 7%
- กำหนดให้ Column A และ Column B เป็นเงื่อนไข
- เงื่อนไขมากกว่า 1 เรื่องต้องปรับใช้ IF ซ้อน IF
D | E | F |
---|---|---|
ชื่อ | หน่วย | แสดงการแทนค่าฟังก์ชันของคอลัมท์ F (Rate ที่ได้) |
Yuta |
301
| =IF(E3>=A7,C7,IF(E3>=A6,C6,IF(E3>=A5,C5,IF(E3>=A4,C4,IF(E3>=A3,C3,0))))) |
Tanaka |
170
| =IF(E4>=A7,C7,IF(E4>=A6,C6,IF(E4>=A5,C5,IF(E4>=A4,C4,IF(E4>=A3,C3,0))))) |
Adrian |
78
| =IF(E5>=A7,C7,IF(E5>=A6,C6,IF(E5>=A5,C5,IF(E5>=A4,C4,IF(E5>=A3,C3,0))))) |
Tom |
6
| =IF(E6<A4,C3,IF(E6<A5,C4,IF(E6<A6,C5,IF(E6<A7,C6,IF(E6>=A7,C7))))) |
Benny |
30
| =IF(E7<A4,C3,IF(E7<A5,C4,IF(E7<A6,C5,IF(E7<A7,C6,IF(E7>=A7,C7))))) |
Remarks:
- Rate ที่ได้ (Column F) คือผลลัพท์ของ Commission Rate พนักงานแต่ละคน ซึ่งแสดงการแทนค่าสูตรฟังก์ชันไว้ที่ตารางที่สอง
- ตารางที่สองใช้ฟังก์ชั่น IF(logical_test,[value_if_true],[value_if_false]) ซ้อนกัน 5 ชั้น ซึ่งต้องปรับเป็น IF(logical_test,[value_if_true], IF(logical_test,[value_if_true], IF(logical_test,[value_if_true],........ [value_if_false])))))
- การซ้อนฟังก์ชั่น IF คือวางสูตรถัดไปไว้หลัง เงื่อนไข TRUE หรือจำง่ายๆ คือหลัง comma ตัวที่สอง และการปิดวงเล็บด้านขวาต้องครบ แต่บางครั้งเมื่อ Enter, Excel มักช่วยเติมให้เอง
- ฟังก์ชั่น IF สามารถพลิกแพลงการกำหนดเงื่อนไข Logical_Test ได้อย่างหลายหลาย อาจใช้ค่า sum, vlookup หรือ อื่นๆ ได้อีกมาก
- จาก 3 รายการแรก ใช้ เงื่อนไขแบบ " >= " (มากกว่าหรือเท่ากับ) และ 2 รายการถัดไป ใช้เงื่อนไขแบบ "<" (เครื่องหมายน้อยกว่า) ซึ่งถึงแม้กำหนดเงื่อนไขต่างกัน ก็ให้ผลที่เท่ากัน
ขอบคุณมากครับ เป็นประโยชน์มากเลย
ตอบลบ