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

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

我想做的是:
对于Lisinopril的所有列表(单独列出或与A栏中的其他药物一起列出),有多少次提到疗效(或安全性)?
每个药效参数(或安全性)应单独计算,例如Lisinopril药效:
Row 2, Column B = 3
Row 3, Column B = 3
Row 7, Column B = 1
Total = 7我目前对Lisinopril的药效是:
=counta(filter(A:A="*lisinopril*"),B:B,{"*bp lowering*","*kidney sparing*","*heart rate*"})发布于 2014-04-07 17:24:41
这是一个粗略的答案,但我重新创建了“药物、功效和安全”专栏,并开始研究如何正确计算每一列中的项目。
我注意到:有效性和安全性列中的项目是单细胞,值用逗号分隔。
这意味着我们可以使用拆分函数来计算单元内的每个单独的项目,而不必真正地为有效性或安全性而调用每个特定的列表项目。
它看起来是什么样子:
=COUNTA(SPLIT(JOIN(",", FILTER(B:B, SEARCH("*Lisinopril*", A:A))), ","))让我从里面开始,帮你走一遍。
SEARCH("*Lisinopril*", A:A)使用搜索函数,可以像使用通配符一样使用通配符搜索单元格中的文本块。它还允许我们使用不支持通配符的筛选器使用通配符进行搜索。
JOIN(",", FILTER(B:B, SEARCH("*Lisinopril*", A:A)))使用加入将它们全部压缩到一个单元格中,并使用逗号将值从每个单元格中分离出来。在您的示例中,连接的单元将如下所示:
BP Lowering, Kidnery Sparing, Heart Rate,BP Lowering, Kidnery Sparing, Heart Rate,Heart Rate 奇怪的是,那是因为我用",“分隔,没有任何空格,就像抬头一样。
现在我们有了一个包含列中所有值的单元格,您可以将它们拆分(使用裂开!)并使用协联计算拆分的值数。
你必须对列出的每一种药物都这样做,同时改变过滤器以查看第三列的安全编号,但它似乎从我最初的测试中起作用了。
我已经链接到每个Google功能在我第一次提到每一个,所以请随时点击和阅读我的实现!
让我知道这对你有什么好处!
编辑:删除转置,因为它是不必要的,我还介绍了一个通用的例子在我的个人博客,以防万一你需要一个更简单的解释!
https://webapps.stackexchange.com/questions/58557
复制相似问题