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

Highlighting data according to whether the same value turns up in another file

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

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

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

只要一个名字出现在 TAB2 中,它在 TAB1 中的出现就应该突出显示(颜色、字体大小等)。

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

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

(我用的是德语版的Excel;VERGLEICH是英文compare的意思;"Teilnahmeliste ausgefüllt"是第二个文件的名字,a.k.a。TAB2.)

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

  1. 是的,在这里指向一个包含多个 sheet 的工作簿是没有用的,而没有提到哪个 sheet。
  2. 您的 "TAB2" 工作簿的真实名称中有一个 space,因此在公式中需要包含引用 - 通常使用单个引号。
  3. 工作簿的全名很可能包含扩展名(我假设 .xlsx),如果是这样,这需要成为公式的一部分。
  4. 鉴于工作簿名称和 sheet 名称的需要,语法需要使用括号,因此:'[Teilnahmeliste ausgefüllt.xlsx]Komplett'! 指代特定书中的特定 sheet。
  5. 你说 "My code is the following: ="VERGLEICH(A2;Teilnahmeliste ausgefüllt!B2:B51;0)"" 但那不是代码 - 双引号意味着它只是一串文本。
  6. 如图所示,您没有特定的 'key' - 例如区分 Luke (天行者) 和说 Luke (Evangelista) 以及卢克 Skywalker 和 Nat Skywalker。对此的传统解决方案是创建唯一键,例如:

=A1&"|"&B1

在 C1 中并向下复制以适应(假设 Name 在两个 sheet 中都在 A1 中)。通常只需要键入查找数组,因为可以在搜索公式 "on the fly" 中创建搜索公式中的相应键,但是我建议在 both [=78 中使用上述公式=]秒。

  1. VERGLEICH 是英文compare 的意思,但是Excel 函数的英文名称是MATCH.
  2. 下一个问题是 Excel 的条件格式通常不会 'span' 工作簿:

You may not use references to other workbooks for Conditional Formatting criteria.

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

  1. 然而,使用 INDIRECT 会引入另一个问题 - 两个工作簿都必须打开才能使函数有效工作。
  2. 因此,使用英文函数名称和分隔符我认为您应该 select ColumnC(在 sheet 中 - 取决于您想要的比较)然后
  3. 主页 > 样式 - 条件格式,新规则...,使用公式确定要设置格式的单元格设置此公式为真的值的格式::

=MATCH(C1,INDIRECT("'[Teilnahmeliste ausgefüllt.xlsx]Komplett'!$C:$C"),0)>0

格式... 使用您选择的格式,好的,好的。

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

=VERGLEICH(C1;INDIREKT("'[Teilnahmeliste ausgefüllt.xlsx]Komplett'!$C:$C");0)>0