我有两个如下所示的 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”。只需选择更适合您的行为即可。