我在上述链接中有一个问题。我试图匹配 A 列和 B 列中的数据。如果数据匹配,则显示“记录匹配”。如果不匹配,则显示“未找到记录”。但我的问题是,当我在 A 列中插入新单元格时,公式会更改其查找/范围值
例如,如果我在 A 列中插入一个单元格以匹配 B 列中的单元格值,公式会更改其范围。我尝试使用 $ 和范围。
我的最终计划是,如果我插入一个单元格以将值向下移动,则下一行应该从“未找到记录”更改为“匹配记录”
我尝试探索间接,但没有得到正确的公式。我希望在插入一两行单元格时,我们可以减去行以匹配行值。
任何帮助表示感谢
=IF(ISNA(VLOOKUP(B3,A3,2,FALSE)), "Record Not Found", "Record Matched")
Column A Column B Diff
1.1.1.1 1.1.1.1 Record Matched
3.3.3.3 2.2.2.2 Record Not Found
4.4.4.4 3.3.3.3 Record Not Found
4.4.4.4 Record Not Found
答案1
我很确定我明白你在问什么,所以也许可以尝试下面的方法。
为了防止 Excel 在插入和下移单元格时更改它所比较的行,您需要使用当前行的公式。这可以使用 来完成row()
,它返回一个带有行号的整数。
=IF(INDEX($1:$65536,ROW(),1)=INDEX($1:$65537,ROW(),2),"Record Matched","Record Not Found")
解释:INDEX 函数取代直接单元格引用,在插入或删除行时不会发生变化。它需要 3 个参数:单元格范围、行号、列号。此处,范围是从 1 到 65536 的所有行,行号为 row(),列号为 1 (A) 或 2 (B)。
插入单元格之前的样子
这是插入空白单元格后发生的情况,将单元格向下移动至A4