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