---
title: "Excel Array Formula ตอนที่ 2 : การใช้ Array Formula แบบมีเงื่อนไขด้วย IF"
url: https://www.thepexcel.com/array-formula-02-if-conditions/
type: post
date: 2020-07-17
updated: 2025-12-22
author: Sira Ekabut
categories: [Excel Advanced Formula]
tags: [MEDIAN, IF, AND, min]
---

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

ในตอนที่แล้ว เราได้เรียน[พื้นฐานของการใช้ Array Formula](https://www.thepexcel.com/array-formula-01-basic/) กันไปแล้ว ในตอนนี้ผมจะใช้ IF และ Boolean Logic มาช่วยสร้างสูตร Array Formula แบบมีเงื่อนไขกันครับ

 

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

 

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

 

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

 ![1](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-001-1024x580.png) 

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

 

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

 

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

 

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

 

```
=MEDIAN(IF(C2:C16=E2,B2:B16))
```

 ![2](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-002-1024x553.png) 

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

 

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

 

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

 

```
=AND(C2:C16=E2,B2:B16<E5)
```

 ![3](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-008-1024x544.png) 

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

 

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

 

```
=(C2:C16=E2)*(B2:B16<160)
```

 ![4](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-009-1024x545.png) 

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

 

```
=IF((C2:C16=E2)*(B2:B16<E5),B2:B16)
```

 ![array formula condition if](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-010-1024x540.png) 

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

 

```
=MEDIAN(IF((C2:C16=E2)*(B2:B16<E5),B2:B16))
```

 ![5](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-011-1024x546.png) 

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

 

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

 

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

 

```
=(C2:C16=E2)+(B2:B16<E5) 
```

 ![6](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-012-1024x543.png) 

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

 

```
=IF((C2:C16=E2)+(B2:B16<E5),B2:B16)
```

 ![7](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-013-1024x544.png) 

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

 

```
=MEDIAN(IF((C2:C16=E2)+(B2:B16<E5),B2:B16))
```

 ![8](https://www.thepexcel.com/wp-content/uploads/2020/07/dynamic-array-02-014-1024x545.png) 

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

---

_Source: [https://www.thepexcel.com/array-formula-02-if-conditions/](https://www.thepexcel.com/array-formula-02-if-conditions/)_
