问题描述
我有一个Google表格单元,其中包含参加活动的人员的列表。一些客人会带来朋友。因此,单元格(A1)如下所示:
Ben,Sarah + 2,James,Mary + 5
我需要计算参加会议的总人数,在这种情况下为11。因此,我正在考虑按照以下方式使用公式:
=count(SPLIT(SUBSTITUTE(A1,"+",","),"))
但是这不起作用,因为它仅将数字计为1,并且COUNT函数似乎不起作用。
我该如何进行这项工作,以便正确地将与会者人数设为11?
解决方法
您可以使用以下公式
max(size(A))
使用的功能:
,您可以通过以下操作获得总金额:
=if(regexmatch(A1,"\+"),sum(ArrayFormula(query(split(transpose(split(A1,",")),"select count(Col1),sum(Col2)",0))),if(isblank(A1),"",counta(split(A1,"))))
说明:
-
if(regexmatch(A1,something,"))))
=>如果答案中没有+
符号,则检查单元格是否为空,如果为空,则打印空白,否则只需计算逗号之间有多少人,否则用加1 计算。 (以下说明) -
split(A1,"\+")
=>红色区域=>将逗号分隔单元格,结果可以在图片的红色区域看到 -
split(TRANSPOSE(split(A1,"\+")
=>绿色区域=>将遍历上面的每个结果,并在右侧的单元格中分隔其中带有+
符号的值,可以在绿色中看到图片中的区域 -
query(split(TRANSPOSE(split(A1,0)
=>蓝色区域=>然后我们将查询两列,在左边一列中,我们要计算该列中的行数(具有名称的列),在下一列中想要对值(加号)求和 -
sum(ArrayFormula(query(split(transpose(split(A1,0)))
=>黄色区域=>然后我们将两列的值求和以得出最终结果