如何解决使用regexmatch计数某些文本出现的次数
这里有个Sheets noob。
我有关于产品及其数量的数据,但它们都放在一个单元格中(例如1x产品A,2x产品B等)。如何使用regexmatch自动对产品的价值求和?因此,如果乘积A = $ 5,乘积B = $ 1,并且如果单元格B2具有“ 1x A,2x B”,则我希望它加5 + 2。大多数产品以1s或2s出售,因此我意识到我将不得不手动输入'n等于5的'1x A'和等于10的'2x A'等,但是我只想知道是否存在一种将所有内容输入一个公式的方法,因为目前我只知道如何单独执行:server.number
或者,公式是否有办法只输出“ 1x A”等出现在B列中的数量?因此,如果我有20行数据,并且在这些行中“ 1x A”出现了15次,“ 2x A”出现了2次,“ 1x B”出现了4次,“ 2x B”出现了3次,是否可以输出“ 17” '到一个计算产品A的单元格中,'7'到另一个计算产品B的单元格中?然后,我可以再创建一个单元格,该单元格的公式将这些数字乘以每种产品的价格。
还是应该为此使用=if(regexmatch(B2,"1x A"),5,0)
之类的东西?因此,如果列B具有2个计数“ 1x A”和1个计数“ 2x A”,我想要一个将输出“ 4”的公式。我只是不知道如何在一个公式中对多个=COUNTA(FILTER(B2:B,REGEXMATCH(B2:B,"1x A")))
的值求和。
任何帮助将不胜感激。
解决方法
使用:
=ARRAYFORMULA(IF(B2:B="",MMULT(IFERROR(REGEXEXTRACT(TRIM(SPLIT(B2:B,",")),"^\d+"))*
IFERROR(VLOOKUP(REGEXEXTRACT(TRIM(SPLIT(B2:B,"^\d+x ?(.+)"),E:F,2,0)),ROW(INDIRECT("A1:A"&COLUMNS(SPLIT(B2:B,"))))^0)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。