ฉันมีช่วง (A3: A10) ที่มีชื่อและฉันต้องการตรวจสอบว่าเนื้อหาของเซลล์อื่น (D1) ตรงกับชื่อในรายการของฉันหรือไม่
ฉันตั้งชื่อช่วง A3: A10 'some_names' และฉันต้องการสูตร excel ที่จะให้จริง / เท็จหรือ 1/0 ขึ้นอยู่กับเนื้อหา
ฉันมีช่วง (A3: A10) ที่มีชื่อและฉันต้องการตรวจสอบว่าเนื้อหาของเซลล์อื่น (D1) ตรงกับชื่อในรายการของฉันหรือไม่
ฉันตั้งชื่อช่วง A3: A10 'some_names' และฉันต้องการสูตร excel ที่จะให้จริง / เท็จหรือ 1/0 ขึ้นอยู่กับเนื้อหา
คำตอบ:
= COUNTIF (some_names, D1)
ควรทำงาน (1 ถ้าชื่อเป็นปัจจุบัน - มากกว่าถ้ามีมากกว่าหนึ่งอินสแตนซ์)
คำตอบที่ฉันต้องการ (แก้ไขจากเอียน) คือ:
=COUNTIF(some_names,D1)>0
ซึ่งจะส่งกลับค่า TRUE หากพบ D1 ในช่วง some_name อย่างน้อยหนึ่งครั้งหรือเป็น FALSE
(COUNTIF ส่งคืนจำนวนเต็มของเกณฑ์ที่พบในช่วง)
ฉันรู้ว่า OP ระบุไว้โดยเฉพาะว่ารายการมาจากช่วงของเซลล์ แต่คนอื่น ๆ อาจสะดุดกับสิ่งนี้ในขณะที่มองหาช่วงของค่าเฉพาะ
นอกจากนี้คุณยังสามารถค้นหาค่าเฉพาะได้มากกว่าช่วงโดยใช้MATCH
ฟังก์ชั่น นี่จะให้หมายเลขที่ตรงกับการแข่งขันนี้ (ในกรณีนี้คือจุดที่สองดังนั้น 2) มันจะส่งกลับ # N / A หากไม่มีการแข่งขัน
=MATCH(4,{2,4,6,8},0)
คุณสามารถแทนที่เซลล์แรกด้วยเซลล์ได้ ใส่ 4 ในเซลล์ A1 แล้วพิมพ์ลงในเซลล์อื่น
=MATCH(A1,{2,4,6,8},0)
=OR(4={2,4,6,8})
หากคุณต้องการเปลี่ยน countif ให้เป็นเอาต์พุตอื่น (เช่นบูลีน) คุณสามารถทำได้เช่นกัน:
= IF (COUNTIF (some_names, D1)> 0, TRUE, FALSE)
สนุก!
เพื่อความหลากหลายคุณสามารถใช้ MATCH เช่น
=ISNUMBER(MATCH(D1,A3:A10,0))
มีเคล็ดลับเล็ก ๆ น้อย ๆ ที่ส่งคืน Boolean ในช่วงของกรณีที่some_names
สามารถระบุได้อย่างชัดเจนใน"purple","red","blue","green","orange"
:
=OR("Red"={"purple","red","blue","green","orange"})
หมายเหตุนี่ไม่ใช่สูตรอาร์เรย์
คุณสามารถทำรัง--([range]=[cell])
ในIF
, SUMIFS
หรือCOUNTIFS
โต้แย้ง ตัวอย่างเช่นIF(--($N$2:$N$23=D2),"in the list!","not in the list")
. ฉันเชื่อว่านี่อาจใช้หน่วยความจำได้อย่างมีประสิทธิภาพ
อีกวิธีหนึ่งคุณสามารถISERROR
ล้อมรอบ a VLOOKUP
ทั้งหมดล้อมรอบIF
คำสั่ง IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" )
ชอบ
เวอร์ชันของสูตรอาร์เรย์ (ป้อนด้วย Ctrl + Shift + Enter):
=OR(A3:A10=D1)
ในสถานการณ์เช่นนี้ฉันเพียงต้องการได้รับการแจ้งเตือนถึงข้อผิดพลาดที่เป็นไปได้ดังนั้นฉันจะแก้ไขสถานการณ์ด้วยวิธีนี้ ...
=if(countif(some_names,D1)>0,"","MISSING")
แล้วผมคัดลอกสูตรนี้จากไปE1
E100
หากค่าในD
คอลัมน์ไม่ได้อยู่ในรายการฉันจะได้รับข้อความ MISSING แต่ถ้าค่านั้นมีอยู่ฉันจะได้รับเซลล์ว่าง นั่นทำให้ค่าที่หายไปนั้นโดดเด่นกว่ามาก
some_names
คอลัมน์มี 2 และแทนที่จะเป็น D1 ฉันมี D1: E1