Excel :比较几列(大约 10 个)值,只突出显示第一个不同的值

Excel : compare several columns (about 10) values and only highlight the first one that's different

我是编码新手,我必须处理一个 excel 文档,该文档大约有 40,000 行和 50 列。我删除了大约 35 个列,这些列的规格对我来说无关紧要。

前 14 列中的值定义了不同的产品。这些定义可以是数字作为产品功率或序列号的规范,也可以是字母作为产品名称或产地的规范。 我已经使用个性化过滤器整理了我所有的专栏,首先根据第 1 栏对它们进行排序,然后是第 2 栏,依此类推... 在第15栏中,有日期是产品首次发布的日期。

我想做的是比较每行中的所有前 14 列,只获取第一个启动的列。由于我删除了 35 列,所以很多产品都是相同的(它们在其他列中的规格不同)。 如果列中的值不匹配,我尝试在第 16 列中记录一个宏或使用公式 return 一个值,但它总是与第一个值(第一行)进行比较,我似乎不是到达任何地方。

有人介意给我发送一些关于如何到达那里的提示吗?

非常感谢您的帮助(如果有任何英文错误,请见谅)

最后我找到了一个解决方案(因为我必须在几个 excel 文件中重复这个): 录制一个过滤宏,像这样:

ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range( _
        "Tableau1[Car]") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range("Tableau1[Model]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range("Tableau1[Motor]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range("Tableau1[Carburant]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range( _
        "Tableau1[Techno]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

...等等!

然后我创建了一个新列,它会根据所有行是否与 IF(AND(C2=C3;D2=D3; ... ; O2=03);1;0) 的公式相同来表示 1 或 0,最后我在最后一列中输入了一个公式,表示如果左边有一个 0,应该考虑这一行的日期,否则会出现日期 1/01/1900。然后通过过滤这一行并去掉1900年的日期,我得到了我想要的。

我希望清楚。