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
Google sheets 带公式的条件格式无法跨多行应用样式_Google Sheets_Google Sheets Formula_Gs Conditional Formatting - Fatal编程技术网

Google sheets 带公式的条件格式无法跨多行应用样式

Google sheets 带公式的条件格式无法跨多行应用样式,google-sheets,google-sheets-formula,gs-conditional-formatting,Google Sheets,Google Sheets Formula,Gs Conditional Formatting,我在这里读了很多答案,但我认为没有一个适用于我的问题 我需要有一个基于下拉列表值的彩色列。 如果未付款,A列必须为红色,如果已付款,则必须为绿色 当我应用=K12=“Not Paid”公式时,样式仅适用于一个单元格。如果我选择应用于所有空单元格,它将按预期工作。但只要我使用任何公式,样式就到处都是 有什么想法吗 这是我正在使用的电子表格的一个例子,这是由于通过公式进行的条件格式可能有点棘手。您需要的解决方案是: =K$12="Not Paid" 这是因为当您使用=K12=“Not Paid”时

我在这里读了很多答案,但我认为没有一个适用于我的问题

我需要有一个基于下拉列表值的彩色列。 如果未付款,A列必须为红色,如果已付款,则必须为绿色

当我应用
=K12=“Not Paid”
公式时,样式仅适用于一个单元格。如果我选择应用于所有空单元格,它将按预期工作。但只要我使用任何公式,样式就到处都是

有什么想法吗


这是我正在使用的电子表格的一个例子,这是由于通过公式进行的条件格式可能有点棘手。您需要的解决方案是:

=K$12="Not Paid"

这是因为当您使用=K12=“Not Paid”时,它使用相对引用。这意味着,如果您在“A12:A2”这样的范围内应用此条件公式,对于单元格“A12”,公式将与您所写的完全相同,但是对于单元格“A13”,它将有一个类似于=K13=“未支付”的公式,这是不正确的。我希望您能更深入地了解这一点。

您所需要的只是将范围扩展到K12:K,如:


更新: 让R10成为:

=ARRAYFORMULA({K12; IF(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {row(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), )<>"",   IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), QUERY(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), "offset 1", 0))})
=ARRAYFORMULA({"";IF(INDIRECT("R9:R"&ROWS(A9:A)-1)="", 1, )})
=($R11="Not Paid")*($S11<>1)
=($R11="Closed")*($S11<>1)


那么红色将是:

=ARRAYFORMULA({K12; IF(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {row(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), )<>"",   IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), QUERY(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), "offset 1", 0))})
=ARRAYFORMULA({"";IF(INDIRECT("R9:R"&ROWS(A9:A)-1)="", 1, )})
=($R11="Not Paid")*($S11<>1)
=($R11="Closed")*($S11<>1)
=($R11=“未支付”)*($S111)


和绿色将为:

=ARRAYFORMULA({K12; IF(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {row(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), )<>"",   IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), QUERY(IF(LEN(B11:B&D11:D&K11:K), VLOOKUP(ROW(A11:A), IF({IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}<>"", {ROW(A11:A), {IFERROR(REGEXEXTRACT(K12:K,
 "Undefined|Quote|Accepted|In-progress|Cancelled|On-hold|Not Paid|Paid 50%|Closed"));""}}), 2, 1), ), "offset 1", 0))})
=ARRAYFORMULA({"";IF(INDIRECT("R9:R"&ROWS(A9:A)-1)="", 1, )})
=($R11="Not Paid")*($S11<>1)
=($R11="Closed")*($S11<>1)
=($R11=“Closed”)*($S111)

谢谢你的帮忙。然而,我认为我没有正确地解释我自己。我知道如何为状态单元格设置条件格式。我需要根据状态颜色为单元格列(A11到A26)添加一个新的条件格式。如果您不介意助手列(?)的话,这是可能的,只要它不复杂,不会使我的工作表凌乱或沉重,我不介意。尽管如此,我还是很想看看,但我不知道它是如何工作的。。比如len是做什么的?为什么需要B&D列?LEN检查字符数,因此与
=IF(LEN(A1),true,false)
组合表示“如果A1包含超过0个字符,则为true,否则为false”。B&D列之所以“需要”,是因为其中的行(组合)大部分都是填充的谢谢@Jonas Negri。我想我错过了什么。额外感谢教程链接,它已经断开了,但我在另一个资源上找到了关于相对和绝对引用的信息。我想知道是否可以添加更多动态条件格式,这样我就不必为每个状态逐个重新创建颜色?比如,是否可以执行以下操作:如果K12有颜色,A11:A26单元格背景应该与之匹配,因为我知道本地Google表单中没有类似的内容。有了谷歌脚本,这将是一件简单的事情,但这将需要一个“onEdit”脚本。我想我总是把事情复杂化了,哈哈。