使用 ARRAYFORMULA 和 COUNTIF
Using ARRAYFORMULA and COUNTIF
我有一个 google 表格,它提出了不同的问题,每个问题都有一个单独的正确答案。
在this例子中,每题对应的正确答案是:
- 问题 1 = A
- 问题 2 = B
- 问题 3 = C
A 列中每个单元格的预期输出为:
- A2=2
- A3=1
- A4=1
这是我在 A2 中的公式:=ArrayFormula(IF(ISBLANK($B:$B),"",countif(B2:B,"A")+countif(C2:C,"B")+countif(D2:D,"C")))
我希望公式能够在每次有人回答表格时自动获得每行所有正确答案的总和,而不必每次都拖动公式。
=arrayformula(if(B2:B<>"",if(B2:B="A",1,0)+if(C2:C="B",1,0)+if( D2:D="C",1,0),))
COUNTIF
不适用于 ARRAYFORMULA
。您应该对每个列比较求和:
=INDEX(IF(LEN(C2:C),(C2:C="A")+(D2:D="B")+(E2:E="C"),""))
或使用MMULT
:
=INDEX(IF(LEN(C2:C),MMULT(--(C2:E={"A","B","C"}),{1;1;1}),""))
我有一个 google 表格,它提出了不同的问题,每个问题都有一个单独的正确答案。
在this例子中,每题对应的正确答案是:
- 问题 1 = A
- 问题 2 = B
- 问题 3 = C
A 列中每个单元格的预期输出为:
- A2=2
- A3=1
- A4=1
这是我在 A2 中的公式:=ArrayFormula(IF(ISBLANK($B:$B),"",countif(B2:B,"A")+countif(C2:C,"B")+countif(D2:D,"C")))
我希望公式能够在每次有人回答表格时自动获得每行所有正确答案的总和,而不必每次都拖动公式。
=arrayformula(if(B2:B<>"",if(B2:B="A",1,0)+if(C2:C="B",1,0)+if( D2:D="C",1,0),))
COUNTIF
不适用于 ARRAYFORMULA
。您应该对每个列比较求和:
=INDEX(IF(LEN(C2:C),(C2:C="A")+(D2:D="B")+(E2:E="C"),""))
或使用MMULT
:
=INDEX(IF(LEN(C2:C),MMULT(--(C2:E={"A","B","C"}),{1;1;1}),""))