根据是否在另一个文件中出现相同的值来突出显示数据

时间:2015-06-29 15:37:27

标签: excel excel-formula concatenation conditional-formatting excel-indirect

在Excel中,我想突出显示表TAB1中的某些名称。我的表看起来像这样(但是更长):

Name    Surname
Luke    Skywalker
Han     Solo
Leia    Organa
...
(up to 50 names) 

我还有另一个表TAB2(保存在另一个Excel文件中),其中包含一些名称。我想要的是:

每当TAB2中出现名称时,应突出显示TAB1中的名称(颜色或字体大小等)。

我读了一篇(德语)tutorial,但这给了我一个错误。我的代码如下:

="VERGLEICH(A2;Teilnahmeliste ausgefüllt!B2:B51;0)"

(我正在使用德语版的Excel; VERGLEICH意味着用英语比较;“Teilnahmelisteausgefüllt”是第二个文件的名称,a.k.a。TAB2。)

我认为我的错误是我没有包含电子表格的名称(TAB2有三个电子表格;我需要的那个名为“Komplett”)。

1 个答案:

答案 0 :(得分:2)

  1. 是的,这里指向包含多个工作表的工作簿没有提及哪个工作表是没有用的。
  2. “TAB2”工作簿的真实名称中有一个空格,因此在公式中需要包含引用 - 通常使用单引号。
  3. 工作簿的全名很可能包含扩展名(我假设为.xlsx),如果是,则需要将其作为公式的一部分。
  4. 鉴于需要工作簿名称和工作表名称,语法需要使用括号,因此:'[Teilnahmeliste ausgefüllt.xlsx]Komplett'!引用特定工作簿中的特定工作表。
  5. 你说“我的代码如下:="VERGLEICH(A2;Teilnahmeliste ausgefüllt!B2:B51;0)"”但这不是代码 - 双引号逗号意味着它只是一串文字。
  6. 如图所示,您没有特定的“密钥” - 例如,区分Luke(Skywalker)和Luke(Evangelista)以及Luke Skywalker和Nat Skywalker。对此的传统解决方案是创建唯一的密钥,例如:
  7.   

    = A1&“|”​​& B1

    在C1中

    并向下复制到适合(假设Name在两张表中都在A1中)。通常只需要键入查找数组,因为搜索公式中的相应键可以在“动态”搜索公式中创建,但我在两个表中推荐上述公式。

    1. VERGLEICH表示用英语进行比较,但Excel中的Excel函数名称为MATCH
    2. 下一个问题是Excel的条件格式通常不会“跨越”工作簿:
    3.   

      您不能将对其他工作簿的引用用于条件格式标准。

      但是,使用INDIRECT可能是一种解决方法。

      1. 然而,使用INDIRECT会引入另一个问题 - 两个工作簿都必须打开才能使函数有效工作。
      2. 所以,对于英文函数名和分隔符,我认为你应该选择ColumnC(在任何一张表中 - 取决于你想要的比较)然后
      3. HOME>样式 - 条件格式,新规则...,使用公式确定要格式化的单元格格式化此公式为真的值:
      4.   

        = MATCH(C1,INDIRECT(“'[Teilnahmelisteausgefüllt.xlsx] Komplett'!$ C:$ C”),0)> 0

        格式化... ,您可以选择格式化,OK,OK。

        1. 公式的德语和语言环境版本可能是:
        2.   

          = VERGLEICH(C1; INDIREKT(“'[Teilnahmelisteausgefüllt.xlsx] Komplett'!$ C:$ C”); 0)> 0