ในตอนที่แล้ว เราได้เรียนพื้นฐานของการใช้ Array Formula กันไปแล้ว ในตอนนี้ผมจะใช้ IF และ Boolean Logic มาช่วยสร้างสูตร Array Formula แบบมีเงื่อนไขกันครับ
ใช้ความเป็น FALSE ของ IF
วิธีนี้เราจะใช้ IF เช็คเงื่อนไข ถ้ากรณีเป็นจริงจะทำตามที่กำหนด กรณีเป็นเท็จจะปล่อยให้เป็น FALSE ไปเพื่อ Ignore การคำนวณนั้นๆ เช่น กรณีสนใจแค่เพศหญิง ก็ใช้สูตรแบบนี้ได้ (สังเกตว่าเราจะไม่ใส่ value_if_false )
=IF(C2:C16=E2,B2:B16)
ถ้าหากอยากได้ค่าน้อยสุดก็เอา MIN ไปครอบซะ เช่น
=MIN(IF(C2:C16=E2,B2:B16))
แค่นี้เราก็สามารถเลียนแบบฟังก์ชัน MINIFS ได้แล้ว แต่มันเจ๋งกว่านั้น เพราะเราใช้ฟังก์ชันอะไรก็ได้
เราจะใช้ MEDIAN ก็ยังได้ เช่น กรณีสนใจค่า MEDIAN กรณีเป็นผู้ชายก็เขียนสูตรดังนี้ได้
=MEDIAN(IF(C2:C16=E2,B2:B16))
กรณีมีหลายเงื่อนไขแบบ AND
ใน Array Formula เราจะใช้ฟังก์ชัน AND ตรงๆ ไม่ได้ เพราะมันจะรวบเงื่อนไขทุกตัวเข้าด้วยกันแบบไม่แยก item พิจารณา ถ้ามีตัวใดตัวหนึ่งเป็น FALSE มันจะ FALSE ทันที และให้ผลออกมาค่าเดียวเลย
เช่น ให้เงื่อนไขคือ เป็นผู้ชาย ที่สูงน้อยกว่า 160 ถ้าใช้ AND จะเป็นดังนี้
=AND(C2:C16=E2,B2:B16<E5)
ถ้าจะใช้เงื่อนไขแบบ AND เราจะใช้ Boolean Logic ด้วยหลักการคูณ ที่ว่า ถ้าตัวใดตัวหนึ่งเป็น FALSE มันจะคูณได้ 0 ทันที การจะออกมาเป็น 1 ได้จะต้องเป็น TRUE ทุกตัวเท่านั้น
ดังนั้นเราจะเปลี่ยนเงื่อนไขเป็นดังนี้ได้
=(C2:C16=E2)*(B2:B16<160)
จากนั้นก็เอา IF ไปครอบได้ ซึ่งปกติแล้วตรง logical_test ของ IF สามารถเปลี่ยนเลข 0 เป็น FALSE และเลขอื่นเป็น TRUE ได้
=IF((C2:C16=E2)*(B2:B16<E5),B2:B16)
ที่นี้ถ้าอยากได้การสรุปแบบไหนก็ครอบลงไปอีกทีได้ เช่น หาค่า MEDIAN อีกก็ได้
=MEDIAN(IF((C2:C16=E2)*(B2:B16<E5),B2:B16))
กรณีมีหลายเงื่อนไขแบบ OR
กรณีเป็นเงื่อนไขแบบ OR ถ้าหากเป็น Array Formula เราก็จะใช้ OR ไม่ได้เช่นกัน ด้วยเหตุผลเดียวกับ AND ว่ามันจะรวบให้เหลือตัวเดียว ดังนั้นเราจะใช้ Boolean Logic แบบบวก (ถ้ามีตัวใดตัวหนึ่งเป็น TRUE บวกกันแล้วจะต้องมากกว่า 0 แน่นอน) เช่น
เป็นหญิง หรือ สูงน้อยกว่า 160
=(C2:C16=E2)+(B2:B16<E5)
ทีนี้เราก็เอา IF มาใส่ได้ละ เลข 0 จะเป็น FALSE ส่วนเลขอื่่นจะเป็น TRUE ทั้งหมดเลย
=IF((C2:C16=E2)+(B2:B16<E5),B2:B16)
ทีนี้ถ้าจะหาค่า MEDIAN ก็ครอบลงไปอีกที
=MEDIAN(IF((C2:C16=E2)+(B2:B16<E5),B2:B16))
และนี่ก็คือตัวอย่างการใช้ Array Formula แบบมีเงื่อนไข เพื่อนๆ ลองเล่นกันดูนะครับ ว่าทำได้หรือไม่ ถ้าทำแล้วติดอะไรก็ Comment ถามได้เลยนะครับ