如何使用数组公式计算范围内的值
How to count a value in a range using array formula
我想用数组公式计算这些范围 F:R
、BC:BN
、CX:DI
中 No
的数量,因此如果有人提交包含 No
在这些范围内它计算它们
我试过使用这个公式
=ARRAYFORMULA(IF(ROW(E:E)=1,"NC",IF(LEN(E:E), IF(IFERROR(REGEXEXTRACT(TRANSPOSE(QUERY(TRANSPOSE(COUNTIFS(OR(DV:EG="No",BW:CH="No",U:AG="No"))),, 999^99)), "♦"))="♦", 1, 0), )))
但是没有用,我也试过这个公式:
=ARRAYFORMULA(IF(ROW(A:A)=1,"NC",IF(LEN(A:A)=0,IFERROR(1/0),COUNTIFS(F:R,"No")+COUNTIFS(BC:BN,"No")+COUNTIFS(CX:DI,"No"))))
但它计算了整个范围内的所有值
我需要它逐行计算 No,所以在 NC
下每一行的末尾它显示这些范围内的 No 的数量 F:R
,BC:BN
, CX:DI
这是包含数据的传播sheet
https://docs.google.com/spreadsheets/d/1SksZv0h82j5oEZBj2AN5anDFr80AYNR5ettSwkpUKys/edit#gid=0
=ARRAYFORMULA({"NC"; IF(LEN(A2:A),
MMULT(IFERROR(LEN(REGEXEXTRACT({F2:R,BC2:BN,CX2:DI}, "No"))/
LEN(REGEXEXTRACT({F2:R,BC2:BN,CX2:DI}, "No")), 0),
TRANSPOSE(COLUMN(A1:AK1)^0)), )})
我想用数组公式计算这些范围 F:R
、BC:BN
、CX:DI
中 No
的数量,因此如果有人提交包含 No
在这些范围内它计算它们
我试过使用这个公式
=ARRAYFORMULA(IF(ROW(E:E)=1,"NC",IF(LEN(E:E), IF(IFERROR(REGEXEXTRACT(TRANSPOSE(QUERY(TRANSPOSE(COUNTIFS(OR(DV:EG="No",BW:CH="No",U:AG="No"))),, 999^99)), "♦"))="♦", 1, 0), )))
但是没有用,我也试过这个公式:
=ARRAYFORMULA(IF(ROW(A:A)=1,"NC",IF(LEN(A:A)=0,IFERROR(1/0),COUNTIFS(F:R,"No")+COUNTIFS(BC:BN,"No")+COUNTIFS(CX:DI,"No"))))
但它计算了整个范围内的所有值
我需要它逐行计算 No,所以在 NC
下每一行的末尾它显示这些范围内的 No 的数量 F:R
,BC:BN
, CX:DI
这是包含数据的传播sheet https://docs.google.com/spreadsheets/d/1SksZv0h82j5oEZBj2AN5anDFr80AYNR5ettSwkpUKys/edit#gid=0
=ARRAYFORMULA({"NC"; IF(LEN(A2:A),
MMULT(IFERROR(LEN(REGEXEXTRACT({F2:R,BC2:BN,CX2:DI}, "No"))/
LEN(REGEXEXTRACT({F2:R,BC2:BN,CX2:DI}, "No")), 0),
TRANSPOSE(COLUMN(A1:AK1)^0)), )})