通过检查第三行的差异来合并两个 Excel 表?

通过检查第三行的差异来合并两个 Excel 表?

我有两个如下所示的 Excel 表格,它们相同,但第三行的值不同。

表格1

ID  Certificate No  Status
 1    2458            Done
 1    2459         
 2    2702            
 3   1852             
 3    8522            Done

表 2

 ID  Certificate No  Status
 1    2458            
 1    2459           Closed
 2    2702            
 3    1852           Done
 3    8522            

最终结果显示如下,行号需要相同

 ID  Certificate No  Status
     1    2458           Done
     1    2459           Closed
     2    2702            
     3    1852           Done
     3    8522           Done

答案1

假设您的意思是第三列而不是第三行,您可以执行以下操作:

表格1

ID 证书号码 地位 合并状态
1 2458 完毕 完毕
1 2459 关闭
2 2702
3 1852 完毕
3 8522 完毕 完毕

表2

ID 证书号码 地位
1 2458
1 2459 关闭
2 2702
3 1852 完毕
3 8522

表1中“合并状态”列使用的公式:

=IF([@Status]="",INDEX(Table2[Status],MATCH([@ID]&[@[Certificate No]],Table2[ID]&Table2[Certificate No],0),1)&"",[@Status])

这是一数组公式!!因此你必须按Ctrl+Shift+回车当您将其放入工作簿时。如果您只是按 Enter,则不会起作用。

还请注意,此公式将始终“偏向”状态为表 1。因此,如果在表 1 和表 2 中都找到特定 ID 和证书编号的状态,它将显示表 1 中的内容。

你也可以使用这个:

=[@Status] & INDEX(Table2[Status],MATCH([@ID]&[@[Certificate No]],Table2[ID]&Table2[Certificate No],0),1)

此公式只会合并两个表中的状态,因此,例如,如果在表 1 中发现“完成”状态,而在表 2 中发现“关闭”状态,则“合并状态”将显示为“DoneClosed”。只需选择更适合您的行为即可。

相关内容