具有命名范围的条件格式

Conditional formatting with named ranges

我试图在第一行值和 header 列与 Google Sheet 中命名范围内的值匹配时格式化 table 单元格。我已经用 TRUE 和 FALSE 的公式解决了它,但我不能将它用于条件格式。

示例Sheet: https://docs.google.com/spreadsheets/d/1MpViBGIOYoeMpB2zpb81hwlNOJcShP86OHYlI92mKGA/edit?usp=sharing

我的来源table: --> 命名范围 "mapping_name" 和 "mapping"

+-------+--------+---------+-----------+
|       |        |         |           |
+-------+--------+---------+-----------+
| name1 | Monday | Tuesday |           |
| name2 | Monday |         | Wednesday |
| name3 |        |         |           |
+-------+--------+---------+-----------+

我的table待格式化:

+-------+--------+---------+-----------+--+--+
|       | Monday | Tuesday | Wednesday |  |  |
+-------+--------+---------+-----------+--+--+
| name1 | True   | True    | True      |  |  |
| name2 | True   | True    | False     |  |  |
| name3 | False  | False   | False     |  |  |
+-------+--------+---------+-----------+--+--+

我的公式是这样的

=OR(ARRAYFORMULA((B = index(mapping;match($A35;mapping_name;0))) * ($A35 = index(mapping_name;match($A35;mapping_name;0)))))

B34 是带工作日的 header A35为名称栏

公式有效,但我无法将其转换为适用于条件格式的格式。如有任何帮助,我们将不胜感激!

在你的 'expected result' table 中,我使用了这个公式来进行条件格式化

=ISNUMBER(MATCH($A18&"_"&B, ArrayFormula(TRANSPOSE(SPLIT(TEXTJOIN("@", 1, $A:$A&"_"&$B:$D), "@"))), 0))

或者,如果您想使用命名范围,请尝试

=ISNUMBER(MATCH($A18&"_"&B, ArrayFormula(TRANSPOSE(SPLIT(TEXTJOIN("@", 1, INDIRECT("mapping_name")&"_"&INDIRECT("mapping")), "@"))), 0))

(注意在命名范围两边使用引号。)

看看这对你有用吗?

尝试:

=MATCH(B4, $B:$D, 0)=COLUMN(A1)