สารบัญ
บทช่วยสอนอธิบายไวยากรณ์และการใช้งานพื้นฐานของฟังก์ชัน CHOOSE และแสดงตัวอย่างที่ไม่สำคัญซึ่งแสดงวิธีใช้สูตร CHOOSE ใน Excel
CHOOSE เป็นหนึ่งในนั้น ฟังก์ชันของ Excel ที่อาจดูไม่มีประโยชน์ในตัวเอง แต่เมื่อรวมกับฟังก์ชันอื่นๆ จะให้ประโยชน์ที่ยอดเยี่ยมมากมาย ในระดับพื้นฐานที่สุด คุณใช้ฟังก์ชัน CHOOSE เพื่อรับค่าจากรายการโดยระบุตำแหน่งของค่านั้น นอกจากนี้ในบทช่วยสอนนี้ คุณจะพบกับการใช้งานขั้นสูงหลายอย่างที่ควรค่าแก่การสำรวจอย่างแน่นอน
ฟังก์ชัน Excel CHOOSE - ไวยากรณ์และการใช้งานพื้นฐาน
ฟังก์ชัน CHOOSE ใน Excel คือ ออกแบบมาเพื่อส่งคืนค่าจากรายการตามตำแหน่งที่ระบุ
ฟังก์ชันนี้มีอยู่ใน Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 และ Excel 2007
ไวยากรณ์ของฟังก์ชัน CHOOSE มีดังนี้:
CHOOSE (index_num, value1, [value2], …)ที่ไหน:
Index_num (ต้องระบุ) - ตำแหน่งของค่าที่จะส่งคืน อาจเป็นตัวเลขใดก็ได้ระหว่าง 1 ถึง 254 การอ้างอิงเซลล์ หรือสูตรอื่น
Value1, value2, … - รายการค่าสูงสุด 254 ค่าให้เลือก จำเป็นต้องระบุค่า 1 ค่าอื่นๆ เป็นตัวเลือก สิ่งเหล่านี้อาจเป็นตัวเลข ค่าข้อความ การอ้างอิงเซลล์ สูตร หรือชื่อที่กำหนด
ต่อไปนี้เป็นตัวอย่างของสูตร CHOOSE ในรูปแบบที่ง่ายที่สุด:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
สูตร รีเทิร์น “เอมี่” เพราะ index_num คือ 3 และ "Amy" คือค่าที่ 3 ในรายการ:
ฟังก์ชัน Excel CHOOSE - 3 สิ่งที่ต้องจำ!
CHOOSE เป็นฟังก์ชันที่ธรรมดามากและคุณแทบจะไม่พบปัญหาใด ๆ ในการนำไปใช้ในเวิร์กชีตของคุณ หากผลลัพธ์ที่สูตร CHOOSE ของคุณส่งคืนมานั้นไม่คาดคิดหรือไม่ใช่ผลลัพธ์ที่คุณต้องการ อาจเป็นเพราะเหตุผลต่อไปนี้:
- จำนวนของค่าที่เลือกจำกัดไว้ที่ 254
- ถ้า index_num น้อยกว่า 1 หรือมากกว่าจำนวนค่าในรายการ ข้อผิดพลาด #VALUE! ข้อผิดพลาดจะถูกส่งกลับ
- หากอาร์กิวเมนต์ index_num เป็นเศษส่วน จะถูกตัดให้เหลือจำนวนเต็มต่ำสุด
วิธีใช้ฟังก์ชัน CHOOSE ใน Excel - สูตร ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีที่ CHOOSE สามารถขยายขีดความสามารถของฟังก์ชัน Excel อื่นๆ และมอบโซลูชันทางเลือกให้กับงานทั่วไปบางงาน แม้ว่าหลายๆ คนจะมองว่าไม่สามารถทำได้ก็ตาม
เลือก Excel แทน IF ที่ซ้อนกัน
หนึ่งในงานที่พบบ่อยที่สุดใน Excel คือการส่งคืนค่าต่างๆ ตามเงื่อนไขที่ระบุ ในกรณีส่วนใหญ่ สามารถทำได้โดยใช้คำสั่ง IF ที่ซ้อนกันแบบคลาสสิก แต่ฟังก์ชัน CHOOSE สามารถเป็นทางเลือกที่เข้าใจได้ง่ายและรวดเร็ว
ตัวอย่างที่ 1. คืนค่าต่างๆ ตามเงื่อนไข
สมมติว่าคุณมีคอลัมน์คะแนนของนักเรียนและคุณต้องการติดป้ายกำกับ คะแนนขึ้นอยู่กับเงื่อนไขต่อไปนี้:
ผลลัพธ์ | คะแนน |
แย่ | 0 - 50 |
น่าพอใจ | 51 - 100 |
ดี | 101 - 150 |
ยอดเยี่ยม | มากกว่า 151 รายการ |
วิธีหนึ่งในการทำเช่นนี้คือการซ้อนสูตร IF สองสามสูตรเข้าด้วยกัน:
=IF(B2>=151, "Excellent", IF(B2>=101, "Good", IF(B2>=51, "Satisfactory", "Poor")))
อีกวิธีหนึ่งคือการเลือกป้ายกำกับที่สอดคล้องกับเงื่อนไข:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
วิธีการทำงานของสูตรนี้:
ในอาร์กิวเมนต์ index_num คุณจะประเมินแต่ละเงื่อนไขและส่งกลับ TRUE หากตรงตามเงื่อนไข หากตรงตามเงื่อนไข FALSE มิฉะนั้น ตัวอย่างเช่น ค่าในเซลล์ B2 ตรงตามเงื่อนไขสามข้อแรก ดังนั้นเราจึงได้ผลลัพธ์ระดับกลางดังนี้:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
เนื่องจากในสูตร Excel ส่วนใหญ่ TRUE จะเท่ากับ 1 และ FALSE ถึง 0 สูตรผ่านการแปลงนี้:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
หลังจากดำเนินการบวกแล้ว เรามี:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
ผลลัพธ์คือค่าที่ 3 ใน รายการจะถูกส่งกลับ ซึ่งก็คือ "ดี"
เคล็ดลับ:
- ในการทำให้สูตรมีความยืดหยุ่นมากขึ้น คุณสามารถใช้การอ้างอิงเซลล์แทนป้ายชื่อแบบฮาร์ดโค้ด เช่น:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- หากไม่มีเงื่อนไขใดของคุณเป็น TRUE อาร์กิวเมนต์ index_num จะถูกตั้งค่าเป็น 0 บังคับให้สูตรของคุณส่งคืน #VALUE! ข้อผิดพลาด. เพื่อหลีกเลี่ยงปัญหานี้ เพียงใส่ CHOOSE ในฟังก์ชัน IFERROR ดังนี้:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
ตัวอย่างที่ 2 ทำการคำนวณต่างๆ ตามเงื่อนไข
ในลักษณะเดียวกัน คุณสามารถใช้ฟังก์ชัน Excel CHOOSE เพื่อทำการคำนวณหนึ่งรายการในชุดการคำนวณ/สูตรที่เป็นไปได้ โดยไม่ต้องซ้อนคำสั่ง IF หลายรายการเข้าด้วยกัน
ตัวอย่างเช่น คำนวณค่าคอมมิชชันของผู้ขายแต่ละรายโดยขึ้นอยู่กับยอดขาย:
คอมมิชชั่น | ยอดขาย |
5% | $0 ถึง $50 | <23
7% | $51 ถึง $100 |
10% | มากกว่า $101 |
ด้วยยอดขายใน B2 สูตรจะใช้รูปแบบต่อไปนี้:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
แทนที่จะฮาร์ดโค้ดเป็นเปอร์เซ็นต์ในสูตร คุณสามารถอ้างถึงเซลล์ที่เกี่ยวข้องในตารางอ้างอิงของคุณ ถ้ามี อย่าลืมแก้ไขการอ้างอิงโดยใช้เครื่องหมาย $
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
สูตร Excel CHOOSE เพื่อสร้างข้อมูลแบบสุ่ม
อย่างที่คุณทราบ Microsoft Excel มีฟังก์ชันพิเศษในการสร้าง จำนวนเต็มสุ่มระหว่างตัวเลขด้านล่างและด้านบนที่คุณระบุ - ฟังก์ชัน RANDBETWEEN ซ้อนไว้ในอาร์กิวเมนต์ index_num ของ CHOOSE และสูตรของคุณจะสร้างข้อมูลแบบสุ่มเกือบทั้งหมดที่คุณต้องการ
ตัวอย่างเช่น สูตรนี้สามารถสร้างรายการผลการสอบแบบสุ่ม:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
ตรรกะของสูตรนั้นชัดเจน: RANDBETWEEN สร้างตัวเลขสุ่มตั้งแต่ 1 ถึง 4 และ CHOOSE ส่งคืนค่าที่สอดคล้องกันจากรายการสี่ค่าที่กำหนดไว้ล่วงหน้า
หมายเหตุ RANDBETWEEN เป็นฟังก์ชันที่ผันผวนและจะคำนวณใหม่กับทุกๆเปลี่ยนที่คุณทำกับแผ่นงาน ด้วยเหตุนี้ รายการค่าสุ่มของคุณจะเปลี่ยนไปด้วย เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น คุณสามารถแทนที่สูตรด้วยค่าโดยใช้คุณลักษณะ วางแบบพิเศษ
เลือกสูตรเพื่อทำ Vlookup ทางซ้าย
หากคุณเคยทำ การค้นหาแนวตั้งใน Excel คุณทราบดีว่าฟังก์ชัน VLOOKUP สามารถค้นหาได้เฉพาะในคอลัมน์ซ้ายสุดเท่านั้น ในสถานการณ์ที่คุณต้องการส่งคืนค่าทางด้านซ้ายของคอลัมน์การค้นหา คุณสามารถใช้ชุดค่าผสม INDEX / MATCH หรือหลอก VLOOKUP โดยซ้อนฟังก์ชัน CHOOSE เข้าไป โดยมีวิธีการดังนี้:
สมมติว่าคุณมีรายการคะแนนในคอลัมน์ A มีชื่อนักเรียนอยู่ในคอลัมน์ B และคุณต้องการเรียกข้อมูลคะแนนของนักเรียนคนใดคนหนึ่ง เนื่องจากคอลัมน์ส่งคืนอยู่ทางซ้ายของคอลัมน์ค้นหา สูตร Vlookup ปกติจึงส่งคืนข้อผิดพลาด #N/A:
ในการแก้ไขปัญหานี้ ให้เรียกใช้ฟังก์ชัน CHOOSE เพื่อสลับ ตำแหน่งของคอลัมน์ เป็นการบอก Excel ว่าคอลัมน์ 1 คือ B และคอลัมน์ 2 คือ A:
=CHOOSE({1,2}, B2:B5, A2:A5)
เนื่องจากเราใส่อาร์เรย์ของ {1,2} ไว้ใน index_num อาร์กิวเมนต์ ฟังก์ชัน CHOOSE ยอมรับช่วงในอาร์กิวเมนต์ ค่า (โดยปกติจะไม่รับ)
ตอนนี้ ให้ฝังสูตรข้างต้นลงในอาร์กิวเมนต์ table_array ของ VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
และ voilà - การค้นหาทางซ้ายทำได้โดยไม่มีการผูกปม!
เลือกสูตรเพื่อกลับมาทำงานต่อไป วัน
หากคุณไม่แน่ใจว่าคุณควรไปทำงานในวันพรุ่งนี้ หรือสามารถอยู่บ้านและเพลิดเพลินกับวันหยุดสุดสัปดาห์ที่คู่ควร ฟังก์ชัน Excel CHOOSE จะหาได้ว่าวันทำงานถัดไปคือเมื่อใด
สมมติว่าวันทำงานของคุณคือวันจันทร์ถึงวันศุกร์ สูตร เป็นดังนี้:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
ยากตั้งแต่แรกเห็น เมื่อมองใกล้ๆ ตรรกะของสูตรก็ทำตามได้ง่าย:
วันธรรมดา (TODAY()) ส่งคืนหมายเลขซีเรียลที่ตรงกับวันที่ของวันนี้ ตั้งแต่ 1 (วันอาทิตย์) ถึง 7 (วันเสาร์) ตัวเลขนี้ไปที่อาร์กิวเมนต์ index_num ของสูตร CHOOSE
Value1 - value7 (1,1,1,1,1, 3,2) กำหนดจำนวนวันที่จะเพิ่มในวันที่ปัจจุบัน หากวันนี้เป็นวันอาทิตย์ - พฤหัสบดี (index_num 1 - 5) ให้บวก 1 เพื่อส่งคืนในวันถัดไป หากวันนี้เป็นวันศุกร์ (index_num 6) ให้บวก 3 เพื่อส่งคืนในวันจันทร์หน้า หากวันนี้เป็นวันเสาร์ (index_num 7) ให้บวก 2 เพื่อกลับมาในวันจันทร์หน้าอีกครั้ง ใช่ มันง่ายมาก :)
เลือกสูตรเพื่อส่งคืนชื่อวัน/เดือนที่กำหนดเองจากวันที่
ในสถานการณ์ที่คุณต้องการรับชื่อวันในรูปแบบมาตรฐาน เช่น ชื่อเต็ม ( วันจันทร์ วันอังคาร ฯลฯ) หรือชื่อย่อ (จันทร์ อังคาร ฯลฯ) คุณสามารถใช้ฟังก์ชัน TEXT ตามที่อธิบายในตัวอย่างนี้: รับวันในสัปดาห์จากวันที่ใน Excel
หากคุณต้องการ ส่งคืนวันในสัปดาห์หรือชื่อเดือนในรูปแบบที่กำหนดเอง ให้ใช้ฟังก์ชัน CHOOSE ด้วยวิธีต่อไปนี้
หากต้องการรับวันในสัปดาห์:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
เพื่อให้ได้เดือน:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
โดยที่ A2 คือเซลล์ที่มีวันที่เดิม
ฉันหวังว่าบทช่วยสอนนี้จะให้แนวคิดบางอย่างแก่คุณเกี่ยวกับ คุณจะใช้ฟังก์ชัน CHOOSE ใน Excel เพื่อปรับปรุงโมเดลข้อมูลของคุณได้อย่างไร ฉันขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ดาวน์โหลดสมุดงานแบบฝึกหัด
ตัวอย่างฟังก์ชัน Excel CHOOSE