Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/google-chrome-extension/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 具有命名范围的条件格式_Google Sheets_Match_Array Formulas_Gs Conditional Formatting_Textjoin - Fatal编程技术网

Google sheets 具有命名范围的条件格式

Google sheets 具有命名范围的条件格式,google-sheets,match,array-formulas,gs-conditional-formatting,textjoin,Google Sheets,Match,Array Formulas,Gs Conditional Formatting,Textjoin,当第一行值和标题列与GoogleSheets中指定范围的值匹配时,我尝试格式化表格单元格。我已经用TRUE和FALSE将其作为一个公式进行了求解,但我不能将其用于条件格式 示例表: 我的源表: -->命名范围“映射名称”和“映射” 要格式化的我的表格: +-------+--------+---------+-----------+--+--+ | | Monday | Tuesday | Wednesday | | | +-------+--------+---------+

当第一行值和标题列与GoogleSheets中指定范围的值匹配时,我尝试格式化表格单元格。我已经用TRUE和FALSE将其作为一个公式进行了求解,但我不能将其用于条件格式

示例表:

我的源表: -->命名范围“映射名称”和“映射”

要格式化的我的表格:

+-------+--------+---------+-----------+--+--+
|       | Monday | Tuesday | Wednesday |  |  |
+-------+--------+---------+-----------+--+--+
| name1 | True   | True    | True      |  |  |
| name2 | True   | True    | False     |  |  |
| name3 | False  | False   | False     |  |  |
+-------+--------+---------+-----------+--+--+
我的公式是这样的

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

B34是平日的标题 A35是名称列


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

在您的“预期结果”表中,我将此公式用于条件格式

=ISNUMBER(MATCH($A18&"_"&B$17, ArrayFormula(TRANSPOSE(SPLIT(TEXTJOIN("@", 1, $A$4:$A$6&"_"&$B$4:$D$6), "@"))), 0))
或者,如果要使用命名范围,请尝试

=ISNUMBER(MATCH($A18&"_"&B$17, ArrayFormula(TRANSPOSE(SPLIT(TEXTJOIN("@", 1, INDIRECT("mapping_name")&"_"&INDIRECT("mapping")), "@"))), 0))
(请注意在命名范围周围使用引号。)

看看这是否适合你?

试试:

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

您可以使真/假表不可见,并使用条件格式检查其真/假。将规则应用于具有真实值的表。谢谢,真/假标签仅用于参考,但在真实表的单元格中有各种值。谢谢,这对特定的测试设置起到了作用,但是,由于我将两个表在多个工作表上分开并命名为范围,所以另一个解决方案更容易实现。
=MATCH(B4, $B$17:$D$17, 0)=COLUMN(A1)