Excel – 如果索引匹配if

我有列A,B和C.列D将是添加配偶的名字,如果find新列。 联系人之间的共同信息是地址,所以这里是我迄今为止的公式:

=IF(B3="Spouse", IF(INDEX(B:B, MATCH(C3,C:C, 0))="Primary", INDEX(A:A, MATCH(C3,C:C, 0)), ""), "No Spouse") 

这个问题似乎是MATCH(C3,C:C, 0)C3细胞发现自己在C:C范围内。

  ABCD Name Relationship Address Spouse Joe Smith Primary 432 Park Dr No Spouse Michael Turner Primary 2298 Thompson Rd No spouse Sarah Smith Spouse 432 Park Dr Joe Smith Hannah Smith Child 432 Park Dr No Spouse 

使用这个公式:

 =IF(B2="Spouse","",IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($C$2:$C$4)/(($C$2:$C$4=C2)*($A$2:$A$4<>A2)),1)),"No Spouse")) 

在这里输入图像说明


根据你的新数据:

 =IF(B2="Spouse",IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($C$2:$C$5)/(($C$2:$C$5=C2)*($A$2:$A$5<>A2)*($B$2:$B$5 = "Primary")),1)),"No Spouse"),"No Spouse") 

在这里输入图像说明

向后兼容的替代公式(在单元格D2中并复制):

 =IF(OR(COUNTIF(C:C,C2)=1,B2="Child"),"No Spouse",INDEX($A$2:$A$4,MATCH(1,INDEX(($C$2:$C$4=C2)*($A$2:$A$4<>A2),),0)))