EXCEL如何按某一列索引值,将后两列数据做一一对应?

根据第一列住址,将相同住址的人,再根据第三列分组,将不同组别的人,全部一一对应起来,如下图,把上面内容转换成下面内容

伤脑筋

先手动输入第一组标黄的部分

再再G2输入数组公式,按ctrl+shift+enter

=INDEX(B:B,SMALL(IF(A:A&C:C=E2&"2组",ROW(B:B),""),ROW(C2)-MATCH(F2,F:F,0)+1))

在E3,F3分别输入数组公式,按ctrl+shift+enter

=IF(INDEX(B:B,MAX(IF(A:A&C:C=E2&"2组",ROW(B:B),0)))=G2,INDEX(A:A,MIN(IF(C:C="1组",IF(ROW(C:C)>MATCH(F2,B:B,0),ROW(C:C),""),""))),E2)

=IF(INDEX(B:B,MAX(IF(A:A&C:C=E2&"2组",ROW(B:B),0)))=G2,INDEX(B:B,MIN(IF(C:C="1组",IF(ROW(C:C)>MATCH(F2,B:B,0),ROW(C:C),""),""))),F2)

再往下拉就可以了

思路:

    住址和姓名1的判断以上一个姓名2是否是对应住址的最后一个2组人员为依据,如果是则找下一个1组的人员对应的行,如果不是则住址和姓名1跟上一行一样

    姓名2的索引是从上一个变化的姓名1开始依次列出对应住址2组人员

局限:

    假设姓名是唯一的

    没有结尾的判断

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-04
遍历乘法该考虑用代码。
相似回答