【问题标题】:Find and Compare Two Columns Excel (With Screenshots)查找和比较两列 Excel(带屏幕截图)
【发布时间】:2013-09-04 14:46:31
【问题描述】:

我有一个电子表格,它偶尔会获取我不知道其内容的新数据,我只需将其添加到电子表格中即可。一些新数据只是更新电子表格中已有的行,而其他数据正在添加新行。我正在寻找一种方法来添加一列,当我将旧电子表格与新电子表格进行比较时,该列会告诉我行中是否发生了变化。

工作表有一列在所有行中始终具有唯一值,因此如果工作表的排序方式不同,我可以使用它来匹配行。以下是一些屏幕截图,显示了我正在尝试做的事情:

旧电子表格:

新电子表格:

我能想到的唯一解决方案是一个大型嵌套 IF 公式,它逐列比较每一列,例如:

=IF(Old!B2=New!B2,IF(Old!C2=New!C2,"NO","YES"),"YES")

问题在于它很难查看,因为我的实际数据使用 33 列(不包括此“已更改?”列),并且将来可能会添加新列。

我对 Excel 的技术不是很熟练,也没有使用过 VBA,所以如果我缺少一个简单/明显的解决方案,我提前道歉。

提前感谢您的帮助。

【问题讨论】:

    标签: excel compare excel-formula


    【解决方案1】:

    使用您的示例,在“新建”工作表单元格 D2 中并向下复制:

    =IF(COUNTIF(Old!A:A,A2)=0,"YES",IF(SUMPRODUCT(COUNTIF(INDEX(Old!A:AG,MATCH(A2,Old!A:A,0),0),LEFT(A2:AG2,254)&"*"))=SUMPRODUCT(COUNTIF(A2:AG2,LEFT(A2:AG2,254)&"*")),"NO","YES"))
    

    【讨论】:

    • 你太棒了!非常感谢。这可能要求太多,但是如果它始终是倒数第二列,有没有办法弄清楚“C”应该是哪一列?基本上,如果添加一列,它会自动更改为“D”。如果没有,没什么大不了的,改变三个字母并不是一项艰巨的任务。
    • 这需要一些学习,但您可以通过 dynamic named ranges 完成。谷歌搜索该术语应该会弹出很多结果。
    • 当我在 G 列的额外列中添加一些示例数据时,对我来说效果很好。我必须查看一个不适合您的示例,以及您正在使用的更新公式。
    • 是的,Excel 公式一次只能处理 255 个字符的字符串。超过这个会引起问题。尝试对COUNTIF 函数的每个实例使用COUNTIF(A2:C2,LEFT(A2:C2,254)&"*")
    • 我已经用 LEFT(range,254)&"*" 对其进行了测试,这在我的测试数据上是成功的,即使范围从 A:AG 开始并且 L 列的文本长度超过255 个字符。我已经编辑了我对更新公式的答案
    【解决方案2】:

    vlookup 也可以很好地解决这个问题。

    在 D2 中,公式为:

    =IF(AND(VLOOKUP(A2,Old!A:C,2,FALSE)=B2,VLOOKUP(A2,Old!A:C,3,FALSE)=C2),"NO","YES")
    

    列号(2 和 3)是与您尝试匹配的数据相对应的列,使用 ID 列。

    如果您的列名与旧工作表中的列名匹配,则可以使用 MATCH 找到适当的列

    这会使公式看起来更复杂,但如果插入更多列,Excel 会调整 Old!A:C 引用。

    公式看起来像这样以匹配列名

    =IF(AND(VLOOKUP(A2,Old!A:C,MATCH($B$1,Old!$1:$1,0),FALSE)=B2,VLOOKUP(A2,Old!A:C,MATCH($C$1,Old!$1:$1,0),FALSE)=C2),"NO","YES")
    

    这个和上一个的区别是使用MATCH($B$1,Old!$1:$1,0)来查找列(使用$s来锚定查找值)

    【讨论】:

      【解决方案3】:

      在这种情况下,专门的 Excel 比较软件会更好。

      我的公司使用这个软件。看看吧。

      http://www.suntrap-systems.com/ExcelDiff/

      http://www.youtube.com/watch?v=QQgnWr_RT-8

      【讨论】:

      • 我不确定第一句话是什么意思?
      • 不仅如此,tigeravatar创建的公式也很完美,我已经说过了......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多