ฟังก์ชัน HAS

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

ฟังก์ชัน HAS ช่วยให้คุณสามารถตรวจสอบว่าค่าอยู่ที่ใดที่หนึ่งในอาร์เรย์หรือช่วงหรือไม่ จะส่งกลับค่า TRUE ถ้าพบค่า และส่งกลับค่า FALSE ถ้าไม่พบค่า

HAS จะค้นหาอาร์เรย์ที่ซ้อนกันทุกระดับ ดังนั้น คุณจึงสามารถใช้อาร์เรย์นั้นบนอาร์เรย์ที่ถูกเก็บอยู่ภายในเซลล์เดียวได้

ไวยากรณ์

ฟังก์ชัน HAS จะระบุว่า มีค่า อยู่ใน อาร์เรย์หรือไม่

ไวยากรณ์ของฟังก์ชัน HAS คือ

HAS(array, value)

อาร์กิวเมนต์ คำอธิบาย
array
(ต้องระบุ)
อาร์เรย์หรือช่วงที่จะค้นหาภายใน ทุกระดับของอาร์เรย์ที่ซ้อนกันจะถูกค้นหา
value
(ต้องระบุ)
ค่า หรืออาร์เรย์ของค่าที่จะค้นหา

หมายเหตุ

  • การเปรียบเทียบจะเข้มงวดเกี่ยวกับประเภท ตัวเลข 1 ไม่ตรงกับข้อความ "1" และตัวเลข 1 ไม่ตรงกับ TRUE ถ้าคุณต้องการเปรียบเทียบระหว่างชนิดต่างๆ ให้แปลงค่าก่อน — ตัวอย่างเช่น ใช้ฟังก์ชัน VALUE
  • การเปรียบเทียบข้อความจะไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก ดังนั้น "apple" จะตรงกับ "APPLE"
  • เมื่อค่าเป็นอาร์เรย์ HAS จะส่งกลับอาร์เรย์ของผลลัพธ์ TRUE และ FALSE ที่มีรูปร่างเดียวกับค่า ค่าแต่ละค่าจะถูกทดสอบด้วยตัวของมันเอง
  • ถ้า array ว่างเปล่า ฟังก์ชัน HAS จะส่งกลับข้อผิดพลาด #CALC!
  • ถ้า ค่า มีข้อผิดพลาดอยู่ ข้อผิดพลาดนั้นจะถูกส่งกลับ
  • เมื่อต้องการตรวจสอบค่าหลายค่าพร้อมกันด้วยคําตอบ TRUE หรือ FALSE คําตอบเดียว ให้ใช้ HASANY หรือ HASALL

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างและวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

ตัวอย่าง 1

ตรวจสอบว่าช่วงมีค่าที่เฉพาะเจาะจงหรือไม่

ข้อมูล        
10 20 30 40 50
สูตร คำถาม
=HAS(A2:E2,30) 30 อยู่ในรายการหรือไม่?
=HAS(A2:E2,99) 99 อยู่ในรายการหรือไม่?

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

HAS จะส่งกลับค่า TRUE สําหรับ 30 และ FALSE สําหรับ 99 เมื่อค้นหาช่วงที่มี 10, 20, 30, 40 และ 50

ตัวอย่าง 2

ตรวจสอบค่าหลายค่าในคราวเดียว เนื่องจากอาร์กิวเมนต์ที่สองเป็นอาร์เรย์ HAS จะส่งกลับผลลัพธ์หนึ่งรายการต่อค่า โดยจะอยู่ในรูปร่างเดียวกันกับค่าที่คุณค้นหา

ข้อมูล    
1 2 3

ปล่อยให้เซลล์ว่างสองเซลล์ใต้สูตรที่สองเพื่อให้ผลลัพธ์สามารถสปิลล์ได้

สูตร คำอธิบาย
=HAS(A2:C2,{{2,5}}) ส่งกลับเซลล์เดียวที่มีอาร์เรย์ซ้อน {TRUE,FALSE}
=HAS(A2:C2,{2; 5; 3}) ส่งกลับค่า TRUE, FALSE, TRUE สปิลล์ลงสามเซลล์ — หนึ่งผลลัพธ์ต่อค่า

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

HAS จะส่งกลับค่า TRUE และ FALSE ในเซลล์อาร์เรย์ซ้อนเซลล์เดียว และ TRUE, FALSE, TRUE ลงมาสามเซลล์

ตัวอย่าง 3

ค้นหาภายในอาร์เรย์ซ้อนกัน คัดลอกทั้งตาราง แล้ววางลงในเซลล์ A1 ของเวิร์กชีตใหม่ สูตรใน A2 จะจัดเก็บอาร์เรย์ที่ซ้อนกันไว้ในเซลล์เดียว

ข้อมูล  
={{;{1,2}}}{3,4}
สูตร คำอธิบาย
=HAS(A2,3) ส่งกลับค่า TRUE HAS จะค้นหาทุกระดับ ดังนั้นจึงพบ 3 รายการภายในอาคาร {3,4}
=HAS(A2,5) ส่งกลับค่า FALSE ไม่มีระดับของอาร์เรย์ซ้อนที่มี 5

ภาพประกอบต่อไปนี้แสดงผลลัพธ์

HAS จะค้นหา 3 ภายในอาร์เรย์ซ้อนและส่งกลับค่า TRUE การค้นหา 5 ได้ผลลัพธ์เป็น FALSE