这个问题是关于在Google Spreadsheets中重复一个范围。这是我当前使用的公式:
=ARRAYFORMULA(ARRAYFORMULA(SUM(COUNTIFS(SPLIT(REPT("Attendence!B:B;", 2), ";"), {"Name1", "Name2", "Name3"}, Attendence!O:P, "=P"))))
这是我需要的一个例子:
=ARRAYFORMULA(ARRAYFORMULA(SUM(COUNTIFS({Attendence!B:B, Attendence!B:B, Attendence!B:B, Attendence!B:B}, {"Name1", "Name2", "Name3"}, Attendence!O:R, "=P"))))
本质上,Attendence!B:B
需要在内重复{ }
与列中相同的次数Attendence!O:R
。事实是,第二个公式将起作用,除了该公式需要访问column C:JY
,这意味着我不得不重复Attendence!B:B
荒谬的次数。
因此,我尝试使用this:SPLIT(REPT("Attendence!B:B;", 2), ";")
并将其替换2
为列数,但是它始终告诉我们两个参数的长度不相等。
简化工作表: https : //docs.google.com/spreadsheets/d/1PFEz3wz5HOP1cD6HBE-N00yoM1reLwlOpo905cMRW8k/edit?usp=sharing
这个问题与此非常相似:如何在Google SpreadSheet中将范围重复n次
但是,尽管我尝试实施其中提到的解决方案,但它对我来说并不起作用。
如果您"P"
在栏中输入了每个名称和日期C:JY
,那么这里是总计的公式:
=ARRAYFORMULA(SUM(--(C:JY = "P")))
这是为每个名称获取一列的公式:
=ARRAYFORMULA(MMULT(--(C:JY = "P"), SEQUENCE(COLUMNS(C:JY), 1, 1, 0)))
这是将矩阵乘以单位向量(一列size n x 1
)-给出一列行总和。如果您需要一行列的总和,则需要将同一矩阵乘以另一个单位向量(一行为size 1 x n
),如下所示(改变参数的顺序MMULT
很重要):
=ARRAYFORMULA(MMULT(SEQUENCE(1, ROWS(C:JY), 1, 0), --(C:JY = "P")))
如果您有从第二行开始的数据,则可能要修复它们的垃圾箱。像C:JY
-> C2:JY
,如果可能的话,可以过滤出空行。
您可以在此问题中找到替代解决方案:
=ARRAYFORMULA(COUNTIFS(IF(COLUMN(C:JY), ROW(C:JY)), ROW(C:JY), C:JY, "P"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句