在 Excel 中,如何在两个不同的工作表中匹配两个不同的值后有条件地格式化单元格?

In Excel, how do I conditionally format a cell after matching two distinct values across two separate worksheets?

我收到了一份电子表格,其中包含我公司发送的电子邮件列表。我想创建一个可视化时间线来显示发送这些电子邮件的日期(一种甘特图,尽管每个任务的持续时间只有一天)。

名为电子邮件列表的工作表包含一个 table:A 列包含电子邮件标题列表(简称为电子邮件),列 E 包含发送日期(简称为日期)(有许多其他专栏,但这是我唯一需要参考的两个。

我创建了一个名为 Visual Timeline 的单独工作表,其中 A 列包括电子邮件标题(与电子邮件列表工作表中的 A 列相同的信息),并且在顶部,第 5 行包含全年的每个日期,从在 B 列中。

我需要这样做:只要 A 列在两个工作表中匹配,请查看电子邮件列表工作表中的 E 列(日期)。使用该日期为可视化时间线工作表中电子邮件的名称和日期相交的单元格着色。

我目前没有安装 Power Query,不知道这是否是一个选项。

我试过这个:=INDEX('Email List'!A6:A9,MATCH('Email List'!E10,'Visual Timeline'!5:5,0))但我只是返回电子邮件发送的日期。我想任何返回的数据都可以用来有条件地格式化单元格,但我不知道如何让这个公式在整个电子表格中工作。

我已附上屏幕截图以供视觉参考:

这可以通过条件格式来完成。

我建议您从一个有效的sheet 公式开始,该公式的计算结果适用于条件格式。然后在条件格式中使用该公式。

确保顶部屏幕截图第 5 行中的值是真实日期,而不仅仅是数字 1 到 31。您仍然可以将它们格式化为仅显示月份中的第几天,但它们必须是日期以下公式起作用。

同一个邮件主题好像可以出现多次。因此,您需要一个唯一的密钥来查找特定日期的电子邮件。在第二个屏幕截图的 spreadsheet 中,创建一个连接电子邮件主题和日期的辅助列。像这样:

=A10&E10

假设此公式位于 Z 列,向下复制。

现在您可以单击时间轴中的单元格 B6 sheet 并输入此公式

=match($A6&B,'Email list'!$Z:$Z,0)

请注意 $ 符号的位置,以始终引用 A 列和第 5 行。复制所有电子邮件行并跨到其他日期。 如果电子邮件列表中存在电子邮件主题和日期的组合,则会 return 编辑一个数字,否则将显示 #N/A 错误。

一旦生效,select 时间轴中的 B6 sheet,添加一个使用公式的条件格式,并完全使用上面的公式。 select B6 使相对引用与正确的单元格一起使用很重要。

公式 return 产生的任何错误都将被视为假 return,任何数字都将被视为真。

在“条件格式管理器”对话框中,通过设置 "Applies to" 范围将公式应用于所需的单元格。或者复制 B6 并使用“选择性粘贴”>“格式”将格式复制到其他单元格。

您现在应该会看到应用了条件格式,您可以从工作sheet 单元格中删除公式。