在 Excel 电子表格中,我有一行包含一年中的所有日期,以及英国银行假日列表。我希望使用条件格式突出显示银行假日的日期。
当使用简单比较测试日期是否匹配时=CX$3=$A$49
,Excel 返回TRUE
。
但是,当我使用时=MATCH(CX$3, $A$48:$A$56, 0)
,Excel 返回#N/A
错误。我的计划是在条件格式中使用MATCH
如下内容,并将条件应用于日期行 ($E$3:$NF$3) 上的所有日期 -
=NOT(ISERROR(MATCH(E$3, $A$48:$A$56, 0)))
我曾尝试解决问题-
- 两个单元格的格式相同(日期),且语言环境相同(英语(英国))。
- 没有虚假的空格(通过返回的简单比较证明
True
)。 - 我在输入公式后按下了ctrl, shift+ enter(尽管我从来不需要在我使用过的任何其他功能中执行此操作)
INDEX
。MATCH
还有哪些问题可能会导致该MATCH
功能失败?
答案1
TLDR:尝试使用=ISNUMBER(MATCH(E3, $A$48:$A$56, 0))
你可以尝试这种方法:
选择您想要设置条件格式的列/行。
在我的示例中,我在 A 列中保存了从 2023 年 1 月 1 日到 2023 年 12 月 31 日的所有日期(A1:A365),并选择了随机日期来表示 B 列(B1:B6)中的“假期”。
选择 A 列(日期):
主页 > 条件格式 > 新规则 > 使用公式确定要格式化的单元格
公式:=ISNUMBER(MATCH(A1,B$1:B$6,0))
即使您的日期连续,这也应该有效,如下例所示:=ISNUMBER(MATCH(A2,$A$1:$NA$1,0))
在我的行示例中,日期是 A1:NA:1,假期是 A2:D2。
在底部设置格式。
当 A 列(日期)中的任何日期与 B 列(假期)中的日期匹配时,它将根据您指定的条件格式化该单元格。
这将适用于 A 列中的每个单元格(例如:A1、A2、A3……A365)。
您可以通过选择“条件格式”>“管理规则”>“此工作表”>“适用于”来检查
“适用于”部分应该是您运行公式的范围(例如=$A$1:$A$365
:)