我在 excel 中有一列重复数字 1 到 5 (A),下一列是我想要匹配的数字列表 (B),条件是 A 中每 1 到 5 有一个匹配的数字。下面是一个例子,前两列是我现在拥有的,后两列是我希望找到公式的。提前感谢任何建议。
ABAB 1 2 1 2 3 2 2 3 2 3 4 4 5 5 1 1 2 2 3 3 3 4 4 5 5 1 1 2 2 2 3 3 4 4 5 5 1 3 1 2 3 2 3 2 3 3 4 4 5 5 1 1 2 2 3 3 3 4 4 5 5 1 1 2 2 2 3 3 4 4 5 5
答案1
首先,从源表中获取 B 列的项目:
=FILTER(B3:B32,B3:B32<>"")
然后,为 A 列中 1-5 的每个组分配一个“组”:
=ROUNDUP((ROW()-2)/5,0)
然后从过滤后的项目中检索与组号对应的项目:
=INDEX(G3#,J3:J32,1)
接下来,检查检索到的项目编号是否与同一行的 A 列编号匹配:
=I3#=K3#
最后,如果它们匹配,则返回 A 列的值:
=IF(L3#,K3#,"")
作为单一公式,这可以通过以下公式实现,该公式假设您的匹配项在 B 列中,而 1-5 的列表在 I 列中:
=IF(INDEX(FILTER($B$3:$B$32,$B$3:$B$32<>""),ROUNDUP((ROW()-2)/5,0),1)=$I3,$I3,"")
下图显示了该过程。