Google sheets 在谷歌表单中,如何通过ArrayFormula()计算特定单词在行中的出现次数
我无法通过Google sheets 在谷歌表单中,如何通过ArrayFormula()计算特定单词在行中的出现次数,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我无法通过ArrayFormula计算特定单词的行数 下面是我想要达到的目标 我曾尝试使用COUNTIFS()函数进行计数,但它计算整个数据集中的出现次数,而不是每行 在此示例中,列E应具有数组形式,以统计所有出现的“收件箱” 和 F列应具有ArrayFormula以计算所有“已发送”的出现次数 我已经求助于一个自定义函数来实现这一点,但是由于它不是一个内置函数,所以速度非常慢 为什么不使用 根据公式: =COUNTIF(A2:D2, "INBOX") 我想这回答了你的问题
ArrayFormula
计算特定单词的行数 下面是我想要达到的目标 我曾尝试使用
COUNTIFS()
函数进行计数,但它计算整个数据集中的出现次数,而不是每行
在此示例中,列E应具有数组形式
,以统计所有出现的“收件箱”和
F列应具有
ArrayFormula
以计算所有“已发送”的出现次数
我已经求助于一个自定义函数来实现这一点,但是由于它不是一个内置函数,所以速度非常慢
为什么不使用
根据公式:
=COUNTIF(A2:D2, "INBOX")
我想这回答了你的问题:
=数组公式(if(len(A2:A),countif(if(A2:D=“收件箱”,第(A2:A)行),第(A2:A)行),)
解释不是很明显,但这里是这样的:
:数组公式将为每一行运行if语句:数组公式(if(something))
:将检查每行(if(len(A2:A),something,)
单元格)的第一个值是否为空,如果有值,请运行公式,如果没有,则不运行(请注意结尾处的逗号,在右括号A
。一个可能的选择是:,)
if(not)(isblank(A2:A)),something,)
:将根据条件计算出现的次数countif(某物)
下面是有趣的部分,因为如果在其中发现任何文本“收件箱”,则此公式将分配其所在行的值。例如,如果我们从公式中删除了如果(A2:D=“收件箱”,行(A2:D))
,结果将是: 可以看出,如果(A2:D=“收件箱”,行(A2:D))中的每个值都将被分配该行的值countif()
countif(if(A2:D=“收件箱”,行(A2:A)),行(A2:A))
这意味着我们将计算值2出现的次数(仅在第2行中存在)、值3出现的次数(仅在第3行中存在),依此类推Hi Kessy,如果将公式复制到每个单元格/行中,这将起作用。任务是通过ArrayFormula实现同样的目标。所以COUNTIF应该在第一排的牢房里=ArrayFormula(COUNTIF(A2:D2,“收件箱”))但是这不起作用。太棒了,这很有效@nabais,你能解释一下在这个公式中按行分组是如何工作的吗?非常感谢。如果A单元格不是空的,它将在每行中查找单元格A到D,并对包含“收件箱”文本的单元格计数求和it@AlexanderBenjamin,更新了答案,给出了更详细的解释。该解释非常好。非常感谢你。现在我明白发生了什么。聪明的方法。再次感谢:)@marikamitsos,非常感谢,这些都是很好的例子。