ฟังก์ชัน HASALL ช่วยให้คุณสามารถตรวจสอบว่าอาร์เรย์หรือช่วงมีค่าทุกค่าที่คุณกําลังมองหาอยู่หรือไม่ จะส่งกลับค่า TRUE ก็ต่อเมื่อพบค่าทั้งหมด และส่งกลับค่า FALSE ถ้าค่าใดค่าหนึ่งหายไป
HASALL จะค้นหาอาร์เรย์ที่ซ้อนกันทุกระดับ ดังนั้นคุณจึงสามารถใช้อาร์เรย์ที่เก็บอยู่ภายในเซลล์เดียวได้
ไวยากรณ์
ฟังก์ชัน HASALL จะกําหนดว่าอาร์เรย์มีค่าทั้งหมดหรือไม่
ไวยากรณ์ของฟังก์ชัน HASALL คือ
HASALL(array, values)
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
|
array (ต้องระบุ) |
อาร์เรย์หรือช่วงที่จะค้นหาภายใน ทุกระดับของอาร์เรย์ที่ซ้อนกันจะถูกค้นหา |
|
ค่า (ต้องระบุ) |
ค่าที่จะตรวจสอบ HASALL จะส่งกลับค่า TRUE ก็ต่อเมื่อพบรายการทั้งหมดเท่านั้น |
หมายเหตุ
- HASALL จะส่งกลับค่า TRUE หรือ FALSE ค่าเดียวเสมอ ไม่ว่าคุณจะค้นหาค่ากี่ค่าก็ตาม เมื่อต้องการรับผลลัพธ์หนึ่งรายการต่อค่า ให้ใช้ฟังก์ชัน HAS แทน เมื่อต้องการตรวจสอบว่ามีค่าอย่างน้อยหนึ่งค่าอยู่หรือไม่ ให้ใช้ฟังก์ชัน HASANY
- HASALL จะตรวจสอบว่าแต่ละค่าแสดงอยู่หรือไม่ ไม่ใช่จํานวนครั้งที่ค่าปรากฏ การทําซ้ําค่าในค่าไม่จําเป็นต้องปรากฏมากกว่าหนึ่งครั้งในอาร์เรย์
- การเปรียบเทียบจะเข้มงวดเกี่ยวกับประเภท ตัวเลข 1 ไม่ตรงกับข้อความ "1" และตัวเลข 1 ไม่ตรงกับ TRUE การเปรียบเทียบข้อความจะไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก ดังนั้น "apple" จะตรงกับ "APPLE"
- ถ้า array ว่างเปล่า ฟังก์ชัน HASALL จะส่งกลับข้อผิดพลาด #CALC!
- ถ้า ค่ามี ข้อผิดพลาด ข้อผิดพลาดนั้นจะถูกส่งกลับ
ตัวอย่าง
คัดลอกข้อมูลตัวอย่างและวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้
ตัวอย่าง 1
ตรวจสอบว่าช่วงมีทุกค่าในชุดหรือไม่
| ข้อมูล | ||||
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| สูตร | คำถาม |
|---|---|
| =HASALL(A2:E2,{2,4}) | มีทั้ง 2 และ 4 อยู่ในรายการหรือไม่ |
| =HASALL(A2:E2,{2,9}) | มีทั้ง 2 และ 9 อยู่ในรายการหรือไม่ |
| =HASALL(A2:E2,{1,2,3,4,5,6}) | ค่าทั้งหกค่าอยู่ในรายการหรือไม่ |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์
ตัวอย่าง 2
ดูวิธีการที่ HASALL ปฏิบัติต่อค่าที่ซ้ํากัน โดยจะตรวจสอบว่าค่าปรากฏหรือไม่ ไม่ใช่ความถี่ที่ค่าปรากฏขึ้น
| ข้อมูล | |
|---|---|
| 1 | 2 |
| สูตร | คำอธิบาย |
|---|---|
| =HASALL(A2:B2,{2,2,2}) | ส่งกลับค่า TRUE ค่า 2 ปรากฏ ซึ่งเป็นทั้งหมดที่จําเป็น |
| =HASALL(A2:B2,{1,2,3}) | ส่งกลับค่า FALSE ค่า 3 หายไป |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์
ตัวอย่าง 3
ค้นหาภายในอาร์เรย์ซ้อนกัน สูตร ={{{1,2};}}{3,4} ในเซลล์ A1 จะจัดเก็บอาร์เรย์ที่ซ้อนกันไว้ในเซลล์เดียว
| สูตร | คำอธิบาย |
|---|---|
| =HASALL(A1,{2,3}) | ส่งกลับค่า TRUE HASALL จะค้นหาทุกระดับ ดังนั้นจะพบ 2 ภายใน {1,2} และ 3 ด้านใน {3,4} |
| =HASALL(A1,{2,5}) | ส่งกลับค่า FALSE ค่า 5 ไม่ปรากฏในระดับใดๆ |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์
ตัวอย่าง 4
ตรวจสอบว่าแถวถูกแท็กด้วยแท็กที่จําเป็นทุกรายการ แต่ละเซลล์ในคอลัมน์ B มีรายการแท็ก ซึ่งคั่นด้วยเครื่องหมายจุลภาค
หลังจากที่คุณวางข้อมูล ให้เลือก B2:B3 แล้วกด Ctrl+J เพื่อเปลี่ยนแต่ละเซลล์เป็นรายการ จนกว่าคุณจะดําเนินการ แต่ละเซลล์จะมีข้อความเพียงส่วนเดียว และสูตรด้านล่างจะไม่พบแท็กแต่ละรายการ
| รายการ | แท็ก |
|---|---|
| ผลิตภัณฑ์ A | ด่วน ตรวจทาน Q1 |
| ผลิตภัณฑ์ข | ด่วน, Q1 |
| สูตร | คำอธิบาย |
|---|---|
| =HASALL(B2,{"urgent","review"}) | ส่งกลับค่า TRUE ผลิตภัณฑ์ A มีแท็กทั้งสอง |
| =HASALL(B3,{"urgent","review"}) | ส่งกลับค่า FALSE สินค้า B ไม่ถูกแท็กบทวิจารณ์ |
ภาพประกอบต่อไปนี้แสดงผลลัพธ์