หนีสูตร IF ไปใช้สูตร Choose หรือ Index

Choose เป็นสูตรซึ่งทำหน้าที่เลือกค่าที่ใส่ไว้ในวงเล็บของตัวสูตร Choose เองตามเลขลำดับที่เรากำหนด โดยใช้เลขลำดับตั้งแต่เลข 1 - 254 (Excel 2003 ต้องใช้เลข 1 - 29) ตามโครงสร้างสูตร ดังนี้

=CHOOSE(เลขลำดับ, ค่าที่1, ค่าที่2, .... ค่าที่ 254)

สูตร Choose กับสูตร IF มีความเหมือนกันตรงที่ 2 สูตรนี้เหมาะกับการหาค่าคำตอบจากค่าที่กระจายตัวโดยไม่จำเป็นต้องอยู่ในตารางที่เป็นพื้นที่ต่อเนื่องกันไป เพียงแต่สูตร Choose ต้องใช้ตัวเลขลำดับเป็นเลขจำนวนเต็มตั้งแต่เลข 1 - 254 เป็นเงื่อนไขในการเลือกคำตอบ ส่วนสูตร IF สามารถรับเงื่อนไขเปรียบเทียบได้ทั้งตัวเลขและตัวอักษรและไม่จำกัดว่าต้องใช้เงื่อนไขกรณีเท่ากันเพียงอย่างเดียวเช่นที่สูตร Choose กำหนดไว้

สมมติว่าสูตร IF ที่ใช้อยู่เป็นสูตรตามนี้

=IF(E9="A",C2,IF(E9="B",C5,IF(E9="C",C8,IF(E9="D",C11,IF(E9="E",C14,IF(E9="F",C17,IF(E9="G",F2,IF(E9="H",F17,IF(E9="I",I2,IF(E9="J",I5,IF(E9="K",I8,IF(E9="L",I11,IF(E9="M",I14,I17)))))))))))))

สูตรข้างต้นใช้ค่าในเซลล์ E9 เป็นเงื่อนไขในการเปรียบเทียบกับตัวอักษร A - M เช่น ถ้าเซลล์ E9 มีค่าเป็นตัวอักษร A จะคืนค่าเป็นค่าจากเซลล์ C2 แต่ถ้าเซลล์ E9 มีค่าเป็นตัวอักษร B จะคืนค่าเป็นค่าจากเซลล์ C5 เป็นต้น

เนื่องจากเงื่อนไขที่ใช้ในสูตร IF ใช้เทียบกับตัวอักษร จึงไม่มีทางที่จะนำสูตร Choose มาใช้แทน แต่หากเราสามารถเปลี่ยนเงื่อนไขจากตัวอักษรที่ใช้เดิม หันมาใช้เปรียบเทียบกับตัวเลขแทน กลายเป็นสูตรตามนี้

=IF(E9=1,C2,IF(E9=2,C5,IF(E9=3,C8,IF(E9=4,C11,IF(E9=5,C14,IF(E9=6,C17,IF(E9=7,F2,IF(E9=8,F17,IF(E9=9,I2,IF(E9=10,I5,IF(E9=11,I8,IF(E9=12,I11,IF(E9=13,I14,I17)))))))))))))

สูตร IF ที่แก้ไขใหม่นี้ ใช้ค่าในเซลล์ E9 เป็นเงื่อนไขในการเปรียบเทียบกับตัวเลข 1 - 13 เช่น ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 1 จะคืนค่าเป็นค่าจากเซลล์ C2 แต่ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 2 จะคืนค่าเป็นค่าจากเซลล์ C5 เป็นต้น

เนื่องจากสูตร IF ใช้เงื่อนไขเทียบกับตัวเลข และเป็นตัวเลขจำนวนเต็มตั้งแต่เลข 1 - 13 ซึ่งไม่เกิน 254 และเป็นเงื่อนไขที่ใช้การตรวจสอบว่าเท่ากับหรือไม่เท่านั้น (ไม่ได้ตรวจสอบว่ามากกว่าน้อยกว่า) จึงสามารถใช้สูตร Choose ที่สั้นกว่าแทนได้ด้วยตามนี้

=CHOOSE(E9, C2,C5,C8,C11,C14,C17,F2,F17,I2,I5,I8,I11,I14,I17)

ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 1 จะคืนค่าเป็นค่าจากเซลล์ C2 แต่ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 2 จะคืนค่าเป็นค่าจากเซลล์ C5 แต่ถ้า E9 มีค่าเป็นตัวเลข 14 จะคืนค่าเป็นค่าจากเซลล์ I17

สูตร Choose สามารถใช้เลือกค่าที่กระจาย ซึ่งการกระจายตัวนี่เองที่จะกลายเป็นหนามยอกอกหากมีการกระจายตัวกันมากเกินไปเช่นสูตรต่อไปนี้

=CHOOSE(E9, C2,C5,C8,C11,C14,C17,F2,F17,I2,I5,I8,

I11,I14,I17,D3,D6,D9,D12,D15,D18,G3,G18,J3,J6,J9,

J12,J15,J18,E4,E7,E10,E13,E16,E19,H4,H19,K4,K7,

K10,K13,K16,K19)

เพียงเห็นสูตรแวบเดียวก็รู้สึกเหนื่อยแล้วใช่ไหม แม้ว่าสูตร Choose จะสามารถใช้เลือกค่าที่กระจายตัวกันอยู่ได้สูงสุดถึง 254 ค่าก็ตาม หากเราเผลอจัดลำดับค่าคำตอบสลับที่กันเพียงค่าเดียว จะส่งผลทำให้สูตร Choose คืนค่าคำตอบผิดพลาดทันที

ถ้าค่าที่ต้องการเลือกนั้นถูกนำมาจัดลำดับใหม่ไว้ในตารางให้เป็นพื้นที่ซึ่งต่อเนื่องกันไป เราสามารถนำสูตร Index มาใช้แทน Choose เพราะสูตร Index มีโครงสร้างสูตรตามนี้

=INDEX(พื้นที่ตารางที่เป็น Single Row, เลขลำดับ)

หรือ

=INDEX(พื้นที่ตารางที่เป็น Single Column, เลขลำดับ)

Single Row หรือ Single Column หมายถึงพื้นที่ตารางที่มีความสูงหรือความกว้างเป็นเซลล์เดียวตามแนวนอนหรือแนวตั้ง

ดังนั้นแทนที่จะใช้สูตร IF หรือสูตร Choose ตามตัวอย่างที่กล่าวไปแล้วนั้น หากเราสามารถจัดโครงสร้างตารางใหม่ให้อยู่ในแนวนอนหรือแนวตั้ง และใช้ตัวเลขจำนวนเต็มตั้งแต่เลข 1 เป็นต้นไปเป็นตัวชี้ตำแหน่ง ก็ควรหันมาใช้สูตร Index แทนดีกว่า กลายเป็นสูตรตามนี้

=INDEX(A1:A10000, E9)

ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 1 จะคืนค่าเป็นค่าจากเซลล์ A1 แต่ถ้าเซลล์ E9 มีค่าเป็นตัวเลข 2 จะคืนค่าเป็นค่าจากเซลล์ A2 แต่ถ้า E9 มีค่าเป็นตัวเลข 10000 จะคืนค่าเป็นค่าจากเซลล์ A10000 ซึ่งการนำค่าที่ต้องการมาจัดไว้ในพื้นที่เซลล์ A1:A10000 ทำให้ง่ายในการค้นหาตำแหน่งเซลล์เพื่อบันทึกหรือเปลี่ยนแปลงค่าใหม่ในอนาคต

การเลือกใช้สูตรได้อย่างเหมาะสม สูตรนั้นต้องสามารถรองรับกับเงื่อนไขที่อาจเปลี่ยนแปลงได้ในอนาคตโดยเราไม่ต้องย้อนกลับมาแก้ไขสูตรเก่าที่เคยสร้างไว้อีกเลย ดังนั้นจะเลือกใช้สูตร IF หรือ Choose หรือ Index ก็ต้องคิดพิจารณาให้เหมาะสมด้วยว่าโครงสร้างตารางและค่าที่ใช้เป็นเงื่อนไขนั้นเป็นอย่างไร

แทนที่จะปล่อยให้บันทึกค่าอย่างตามใจหรือไม่ได้ใส่ใจว่าจะใช้ตำแหน่งเซลล์ที่ใดในการบันทึกค่า หากรู้จักออกแบบตารางให้เหมาะสมจะช่วยให้เราสามารถเลือกใช้สูตรได้ยืดหยุ่นมากขึ้น

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234