เปรียบเทียบสองอาร์เรย์ของวันที่เมื่อใช้ INDEX, SMALL และ ROW เพื่อรับการจับคู่ที่ n


0

ฉันมีช่วงของวันที่และจากนั้นก็มีรายการอีเมลจำนวนมากซึ่งทุกคนมีวันที่ส่ง ฉันต้องการสูตรที่ค้นหาการจับคู่ครั้งแรกระหว่างสองอาร์เรย์ของวันที่แล้วคัดลอกมันลงและให้แสดงการจับคู่ครั้งแรกการจับคู่ที่สองการจับคู่ที่สามเป็นต้น

ฉันได้เท่านี้ (เปลี่ยนค่าในตอนท้ายเป็นจำนวนที่ n):

{=INDEX($D$2:$D$100,SMALL(IF($A$2:$A$100=$Q$1,ROW($A$2:$A$100)-ROW(INDEX($A$2:$A$100,1,1))+1),1))}

แต่ปัญหาคือฉันสามารถใช้สิ่งนี้เพื่อเปรียบเทียบหนึ่งวันจากช่วงวันที่ดั้งเดิมของฉันกับช่วงของวันที่ส่งอีเมลของฉัน

ฉันมีความรู้สึกว่าฉันอาจจะไปในทิศทางที่ผิดและเริ่มคิดว่ามันจะเป็นการเสิร์ฟที่ดีขึ้นโดยใช้VBAแต่ฉันรู้สึกเหมือนมีวิธีที่จะทำมันที่ไหนสักแห่งโดยใช้สูตร

ฉันลองIF($A$2:$A$100=$Q$1:$Q$10แล้ว แต่มันไม่ได้ผล (ฉันคาดหวังไว้)

ข้อมูลเชิงลึกใด ๆ ที่จะได้รับการชื่นชม


ฉันเอารอยแตกที่นี้ แต่มันมีขนสวย จะมีการแข่งขันหลายรายการสำหรับแต่ละวันในคอลัมน์ของวันที่ส่ง ดังนั้นผลลัพธ์ระดับกลางอาจเป็นอาร์เรย์ 2D ที่มีวันที่หนึ่งแกนและส่งวันที่อื่น ๆ ด้วย row_num ในทุกเซลล์ที่มีการจับคู่ คุณจะได้รับเช่นอาร์เรย์ 2 =IF(TRANSPOSE(Q1:Q10)=(A1:A100),ROW(A1:100)มิติด้วย นั่นคือสิ่งที่มันได้รับขน SMALL()ไม่สามารถจัดการ 2D และแสดงรายการแถวแรกได้ AGGREGATE()เกินไป. การแปลงอาเรย์ 2D เป็น 1D นั้นเกี่ยวข้องมาก VBA จะง่ายกว่ามากดังนั้นฉันขอแนะนำวิธีการนี้
Bandersnatch

1
คุณหมายถึงว่า ID อีเมลมีวันที่ให้ตรงกันสองวันใช่หรือไม่ คุณกรุณาอัพโหลดข้อมูลตัวอย่างได้ไหม
Rajesh S
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.