我有一个Google单元格,里面有参加活动的人的名单。有些客人会带朋友来。因此单元格(A1)可以如下所示:
Ben, Sarah + 2, James , Mary + 5我需要计算参加会议的总人数,在这个例子中是11人。所以我在考虑使用这样的公式:
=count(SPLIT(SUBSTITUTE(A1,"+",","),","))但这不起作用,因为它只将数字计算为1项,计数函数似乎不起作用。
我如何使这项工作,使它正确地给出的人数为11人?
发布于 2020-10-05 15:21:59
您可以通过以下操作获得总金额:
=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, if(isblank(A1),"",counta(split(A1,",")))) =>符号,则检查单元格是否为空,如果为空,则打印为空,否则只需计算逗号之间有多少人,否则用加号计算。(解释below)split(A1,",")),"\+") =>红色区域=>将用逗号分隔单元格,结果可以在picturesplit(TRANSPOSE(split(A1,",")),"\+") =>绿色区域的红色区域中看到,=>将循环遍历上面的每个结果,并分离到右边的一个单元格,在它们之间有一个+号的值,可以在imagequery(split(TRANSPOSE(split(A1,",")),"\+"),"select count(Col1), sum(Col2)",0) =>蓝色区域=>中的绿色区域中看到,然后我们将查询2列,在左边的2列中,我们希望计数该列中的行数(列中有名称),在下一列中,我们希望对值进行和(加号ones)sum(ArrayFormula(query(split(transpose(split(A1,",")),"\+"),"select count(Col1), sum(Col2)",0))) =>黄色区域=> ),然后我们将对2列的值进行求和,以得到最终结果https://stackoverflow.com/questions/64211047
复制相似问题