我的数据格式如下。
1, 2, 3, 4, null, null, null
A, B, C, D, null, null, null
1, null, null, 4, 5, 6, 7
A, null, null, D, 8, 9, 10
我想将第三行的数据复制到第一行中缺失的“空”单元格中,因为比较第一行和第三行时,单元格值一和四匹配。
到目前为止我有以下内容。
=INDEX(A2:AE346, MATCH(A351&F351&G351, A2:A346&F2:F346&G2:G346, 0), 2)
这是一个电子表格使用一些样本数据,以便您可以测试您的公式。
答案1
参照合并的简单样本数据(4 行 7 列),实际上,您有两个按 B 列排序然后按 A 列排序的表,一个目标表和一个原始表。
确保按照上述方法对数据进行排序。在 A 列中插入一个新列,公式如下:
A1:=B1&E1
并将其抄录到两个(记住的)表中。
通过插入新的空行来分隔表格(这不是必需的,但您想这样做)。
按上述要求排序并插入分隔行后,目标表格将从第 1 行开始,第二个表格将从第 4 行开始。
目标表的空数据将从 F1 开始。在此处输入以下公式:
F1:=VLOOKUP($A1,$A$4:$H$5,COLUMN(F:F),0)
将公式向下复制到目标表的空数据上。
就这样,您就完成了!
如果您无法进行排序,请添加带有行编号的列,以便将来重新排序回到原始顺序。
如果不允许插入 A 列,则使用数据后的第一个新空列,并使用上面为 A1 编写的相同公式。然后使用 Index/Match 代替 VLookup(考虑到 H 中有行编号列)关键公式是:
I1:=A1&D1
对于数据(替换空值):
E1:=INDEX($E$4:$G$5,MATCH($I1,$I$4:$I$5,0),COLUMN(A:A))
将其向下并向右复制。
到这里你又完成了一次。
如果您必须对数据进行排序,请先复制并粘贴值。
如果目标表中的行在原始表中没有匹配的行,并且您希望摆脱错误消息,请使用以下命令:
E1:=IFERROR( the formula in use, "")
对于 Index/Match 解决方案:
E1:=IFERROR(INDEX($E$4:$G$5,MATCH($I1,$I$4:$I$5,0),COLUMN(A:A)),"")
祝你好运。