【发布时间】:2021-02-26 01:07:25
【问题描述】:
我无法让这个计算工作。
=SUMIF({C3,E3,G3,I3,K3,M3},"N",{D3,F3,H3,J3,L3,N3})
RANGE 的数组工作正常,但SUM_RANGE 的数组返回错误消息:
参数必须是范围
谁能帮帮我?
谢谢, 院长。
【问题讨论】:
标签: google-sheets
我无法让这个计算工作。
=SUMIF({C3,E3,G3,I3,K3,M3},"N",{D3,F3,H3,J3,L3,N3})
RANGE 的数组工作正常,但SUM_RANGE 的数组返回错误消息:
参数必须是范围
谁能帮帮我?
谢谢, 院长。
【问题讨论】:
标签: google-sheets
【讨论】:
=SUM(FILTER(D3:N3,C3:M3>5))。
未测试,但看看这是否有效
=SUMPRODUCT({C3,E3,G3,I3,K3,M3}="N",{D3,F3,H3,J3,L3,N3})
【讨论】:
这是 sum(if()) 模式而不是 sumif() 的一个很好的候选者。试试这个:
=sum(arrayformula(if({C3,E3,G3,I3,K3,M3}="N",{D3,F3,H3,J3,L3,N3},0)))
这是如何工作的
| A | B | C | D | E | F | G | H | I | J | K | L | N | M | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | Y | 1 | N | 1 | Y | 1 | Y | 1 | N | 1 | Y | 1 |
{C3,E3,G3,I3,K3,M3}="N" 创建一个包含 6 个值的数组。数组中的每个值都是TRUE 或FALSE,具体取决于输入数组中对应的单元格是否为“N”。这被用作if() 的logical_expression:| FALSE | TRUE | FALSE | FALSE | TRUE | FALSE |
{D3,F3,H3,J3,L3,N3} 也创建了一个包含 6 个值的数组。您已经对此很熟悉,但我将其包括在内是为了指出它是if() 的value_if_true:| 1 | 1 | 1 | 1 | 1 | 1 |
arrayformula() 允许if() 返回一个数组if() 中的logical_expression。该公式会创建一个与输入数组大小相等的输出数组。TRUE,则输出数组将填充value_if_true 中相同位置的值。如果FALSE,它使用来自value_if_false, 的值,即0。在此示例中,输出数组如下所示:| 0 | 1 | 0 | 0 | 1 | 0 |
sum() 聚合数组,在本例中返回 2
【讨论】: