我如何 find/highlight 在 Excel 的多个列中重复出现值

How can I find/highlight recurring values in multiple columns on Excel

我需要 find/highlight 复制出现在我的工作表 (found here). The columns are from D0 to D8 and have varrying rows in them. I have tried solutions provided here 的 8 列中每一列的值。我使用的解决方案是;

(1) =LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A:A,MATCH(0,COUNTIF(E:E1,A:A)+IF(IF(COUNTIF(B:B,A:A)>0,1,0)+IF(COUNTIF(C:C,A:A)>0,1,0)=2,0,1),0))))

(2) =INDEX($A:$A, MATCH(0, COUNTIF($E:E1, $A:$A)+IF(IF(COUNTIF($B:$B, $A:$A)>0, 1, 0)+IF(COUNTIF($C:$C, $A:$A)>0, 1, 0)=2, 0, 1), 0))

我根据自己的工作表替换了这些值,但每次我都只是得到“0”作为答案,尽管这是不可能的。只需查看前 2 行,就可以轻松判断出所有 8 列中都有值。

我是 Excel 的初学者,目前使用 Microsoft Excel 2016 for Mac(16.16.14 版)。

编辑#2

在您提供的第二个公式的嵌套 IF 函数中发现错误。

在您尝试执行的公式中 IF(IF(A)+IF(B)=2,0,1) 但我认为正确的方法应该是 IF((IF(A)+IF(B))=2,0,1)

根据您提供的示例工作表,在单元格 J2 中输入以下公式:

=INDEX(A:A1,MATCH(0,COUNTIF(J:J1,A:A1)+IF((IF(COUNTIF(B:B3,A:A1)>0,1,0)+IF(COUNTIF(C:C2,A:A1)>0,1,0)+IF(COUNTIF(D:D2,A:A1)>0,1,0)+IF(COUNTIF(E:E8,A:A1)>0,1,0)+IF(COUNTIF(F:F2,A:A1)>0,1,0)+IF(COUNTIF(G:G,A:A1)>0,1,0)+IF(COUNTIF(H:H,A:A1)>0,1,0))=7,0,1),0))

请注意,这是一个数组公式,所以您需要在输入上面的公式后进行以下操作:

Select the range, press CONTROL + U and then press COMMAND + RETURN

In case the above does not work for you:

Select the range, press CONTROL + U and then press COMMAND + SHIFT + RETURN

如果你还不清楚,请看这篇文章:How to Use Array Formula in Excel Mac(谁知道用Excel中的数组公式对Mac这么痛苦...)

向下拖动公式,直到列表出现 returning #N/A 错误,这意味着您已找到所有公共值。

假设您将此常用值列表命名为列表,我在Excel 2016年的经验为[=107] =] 是你回到你的来源 table,突出显示整个 table,转到 Home Tab 下的 条件格式 ,转到 New Rule...,转到最后一个选项,然后输入以下公式作为格式规则:

=MATCH(A2,List,0)>0

Given that Power Query is not supported in Excel 2011 and Excel 2016 for Mac, please disregard the following approach using Power Query. FYI power query approach is way faster than the above array formula approach in this case...

从您的 post 和您提供的示例来看,我认为您想找到 all 8 列中出现的共同值,这意味着您将忽略出现在 7、6、5 或更少列中的值。

鉴于您正在处理大型数据集 (860 x 8),我建议使用 Power Query 来解决该问题。 Power Query 是 Excel 2010 Professional Plus 和 Excel.

所有更高版本中的一个 built-in 函数

步骤是:

  1. 使用 From Table 函数在 Data 选项卡下将数据加载到 Power Query 编辑器;
  2. 突出显示所有列,然后使用 Transform 选项卡下的 Unpivot Columns 功能将 table 转换为 2 列 table;
  3. Transform 选项卡组 Value 列下使用 Group By 功能,按如下所述计算不同的行;

  1. 右键单击 header 列右侧的 filer 框以按 8 对列表进行归档,这将 return 值出现在所有 8 个栏目中;
  2. 关闭并加载 列(实际上是 one-column table)到新工作表(默认情况下)。

下面是后台的电源查询M码,仅供参考。所有步骤都使用编辑器的 built-in 功能,非常简单。

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"d0", Int64.Type}, {"d1", Int64.Type}, {"d2", Int64.Type}, {"d3", Int64.Type}, {"d4", Int64.Type}, {"d5", Int64.Type}, {"d6", Int64.Type}, {"d7", Int64.Type}}),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {}, "Attribute", "Value"),
    #"Grouped Rows" = Table.Group(#"Unpivoted Columns", {"Value"}, {{"Count", each Table.RowCount(Table.Distinct(_)), type number}}),
    #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Count] = 8)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Count"})
in
    #"Removed Columns"