array formula-if condition

Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF

ในตอนที่แล้ว เราได้เรียนพื้นฐานของการใช้ Array Formula กันไปแล้ว ในตอนนี้ผมจะใช้ IF และ Boolean Logic มาช่วยสร้างสูตร Array Formula แบบมีเงื่อนไขกันครับ

ใช้ความเป็น FALSE ของ IF

วิธีนี้เราจะใช้ IF เช็คเงื่อนไข ถ้ากรณีเป็นจริงจะทำตามที่กำหนด กรณีเป็นเท็จจะปล่อยให้เป็น FALSE ไปเพื่อ Ignore การคำนวณนั้นๆ เช่น กรณีสนใจแค่เพศหญิง ก็ใช้สูตรแบบนี้ได้ (สังเกตว่าเราจะไม่ใส่ value_if_false )

=IF(C2:C16=E2,B2:B16)
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 1

ถ้าหากอยากได้ค่าน้อยสุดก็เอา MIN ไปครอบซะ เช่น

=MIN(IF(C2:C16=E2,B2:B16))

แค่นี้เราก็สามารถเลียนแบบฟังก์ชัน MINIFS ได้แล้ว แต่มันเจ๋งกว่านั้น เพราะเราใช้ฟังก์ชันอะไรก็ได้

เราจะใช้ MEDIAN ก็ยังได้ เช่น กรณีสนใจค่า MEDIAN กรณีเป็นผู้ชายก็เขียนสูตรดังนี้ได้

=MEDIAN(IF(C2:C16=E2,B2:B16))
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 2

กรณีมีหลายเงื่อนไขแบบ AND

ใน Array Formula เราจะใช้ฟังก์ชัน AND ตรงๆ ไม่ได้ เพราะมันจะรวบเงื่อนไขทุกตัวเข้าด้วยกันแบบไม่แยก item พิจารณา ถ้ามีตัวใดตัวหนึ่งเป็น FALSE มันจะ FALSE ทันที และให้ผลออกมาค่าเดียวเลย

เช่น ให้เงื่อนไขคือ เป็นผู้ชาย ที่สูงน้อยกว่า 160 ถ้าใช้ AND จะเป็นดังนี้

=AND(C2:C16=E2,B2:B16<E5)
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 3

ถ้าจะใช้เงื่อนไขแบบ AND เราจะใช้ Boolean Logic ด้วยหลักการคูณ ที่ว่า ถ้าตัวใดตัวหนึ่งเป็น FALSE มันจะคูณได้ 0 ทันที การจะออกมาเป็น 1 ได้จะต้องเป็น TRUE ทุกตัวเท่านั้น

ดังนั้นเราจะเปลี่ยนเงื่อนไขเป็นดังนี้ได้

=(C2:C16=E2)*(B2:B16<160)
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 4

จากนั้นก็เอา IF ไปครอบได้ ซึ่งปกติแล้วตรง logical_test ของ IF สามารถเปลี่ยนเลข 0 เป็น FALSE และเลขอื่นเป็น TRUE ได้

=IF((C2:C16=E2)*(B2:B16<E5),B2:B16)
array formula condition if

ที่นี้ถ้าอยากได้การสรุปแบบไหนก็ครอบลงไปอีกทีได้ เช่น หาค่า MEDIAN อีกก็ได้

=MEDIAN(IF((C2:C16=E2)*(B2:B16<E5),B2:B16))
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 5

กรณีมีหลายเงื่อนไขแบบ OR

กรณีเป็นเงื่อนไขแบบ OR ถ้าหากเป็น Array Formula เราก็จะใช้ OR ไม่ได้เช่นกัน ด้วยเหตุผลเดียวกับ AND ว่ามันจะรวบให้เหลือตัวเดียว ดังนั้นเราจะใช้ Boolean Logic แบบบวก (ถ้ามีตัวใดตัวหนึ่งเป็น TRUE บวกกันแล้วจะต้องมากกว่า 0 แน่นอน) เช่น

เป็นหญิง หรือ สูงน้อยกว่า 160

=(C2:C16=E2)+(B2:B16<E5) 
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 6

ทีนี้เราก็เอา IF มาใส่ได้ละ เลข 0 จะเป็น FALSE ส่วนเลขอื่่นจะเป็น TRUE ทั้งหมดเลย

=IF((C2:C16=E2)+(B2:B16<E5),B2:B16)
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 7

ทีนี้ถ้าจะหาค่า MEDIAN ก็ครอบลงไปอีกที

=MEDIAN(IF((C2:C16=E2)+(B2:B16<E5),B2:B16))
Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF 8

และนี่ก็คือตัวอย่างการใช้ Array Formula แบบมีเงื่อนไข เพื่อนๆ ลองเล่นกันดูนะครับ ว่าทำได้หรือไม่ ถ้าทำแล้วติดอะไรก็ Comment ถามได้เลยนะครับ

Power BI Workshop 2024 ตุลาคมนี้
อบรม In-House Training

Feedback การใช้งาน AI Chatbot