首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个数据点的COUNTIF

多个数据点的COUNTIF
EN

Web Applications用户
提问于 2014-03-22 02:39:39
回答 1查看 1.4K关注 0票数 -1

我在找出谷歌电子表格的公式时遇到了一些麻烦。我得到了答案,但他们没有计算我想要什么。我在下面粘贴了一个示例场景:

下面是我想要生成的报告:

我想做的是:

对于Lisinopril的所有列表(单独列出或与A栏中的其他药物一起列出),有多少次提到疗效(或安全性)?

每个药效参数(或安全性)应单独计算,例如Lisinopril药效:

代码语言:javascript
复制
Row 2, Column B = 3
Row 3, Column B = 3
Row 7, Column B = 1
Total = 7

我目前对Lisinopril的药效是:

代码语言:javascript
复制
=counta(filter(A:A="*lisinopril*"),B:B,{"*bp lowering*","*kidney sparing*","*heart rate*"})
EN

回答 1

Web Applications用户

发布于 2014-04-07 17:24:41

这是一个粗略的答案,但我重新创建了“药物、功效和安全”专栏,并开始研究如何正确计算每一列中的项目。

我注意到:有效性和安全性列中的项目是单细胞,值用逗号分隔。

这意味着我们可以使用拆分函数来计算单元内的每个单独的项目,而不必真正地为有效性或安全性而调用每个特定的列表项目。

它看起来是什么样子:

代码语言:javascript
复制
=COUNTA(SPLIT(JOIN(",", FILTER(B:B, SEARCH("*Lisinopril*", A:A))), ","))

让我从里面开始,帮你走一遍。

代码语言:javascript
复制
SEARCH("*Lisinopril*", A:A)

使用搜索函数,可以像使用通配符一样使用通配符搜索单元格中的文本块。它还允许我们使用不支持通配符的筛选器使用通配符进行搜索。

代码语言:javascript
复制
JOIN(",", FILTER(B:B, SEARCH("*Lisinopril*", A:A)))

使用加入将它们全部压缩到一个单元格中,并使用逗号将值从每个单元格中分离出来。在您的示例中,连接的单元将如下所示:

代码语言:javascript
复制
BP Lowering, Kidnery Sparing, Heart Rate,BP Lowering, Kidnery Sparing, Heart Rate,Heart Rate 

奇怪的是,那是因为我用",“分隔,没有任何空格,就像抬头一样。

现在我们有了一个包含列中所有值的单元格,您可以将它们拆分(使用裂开!)并使用协联计算拆分的值数。

你必须对列出的每一种药物都这样做,同时改变过滤器以查看第三列的安全编号,但它似乎从我最初的测试中起作用了。

我已经链接到每个Google功能在我第一次提到每一个,所以请随时点击和阅读我的实现!

让我知道这对你有什么好处!

编辑:删除转置,因为它是不必要的,我还介绍了一个通用的例子在我的个人博客,以防万一你需要一个更简单的解释!

票数 1
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/58557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档