使用Google表格中的正则表达式更正聚合公式,以便考虑所有实例

问题描述 投票:0回答:1

我的电子表格中有2个单元格。它看起来像这样:

D2 = {color: white, quantity: 23}, {color: black, quantity: 73}, {color: red, quantity: 10}
D3 = 106

使用以下公式生成D3:

=SUMPRODUCT(IFERROR(REGEXREPLACE(SPLIT(SUBSTITUTE(D2, "quantity:", "♦"), "♦"), "}.*", "")))

换句话说,我想做的就是汇总数量。

但是,它的工作原理必须在每个“JSON”对象的最末端。如果我将D2更改为:

D2 = {color: white, quantity: 23, size: small}, {color: black, quantity: 73}, {color: red, quantity: 10}

因为我在数量之后添加了size属性,所以D3现在变为83.因此,我想做三件事:

  • 无论发生在何处,都汇总所有数量实例。
  • 使匹配大小写不敏感。所以像“QUANTITY”这样的东西也会起作用。
  • 不应考虑“数量:”之后的空格。所以,像{quantity:100}, {quantity: 23}, {quantity: 120}这样的东西也会起作用。

我怎样才能解决这个问题?我试图删除正则表达式的"}.*",但这似乎打破了公式。任何帮助表示赞赏。

regex google-sheets google-sheets-formula
1个回答
1
投票
=SUMPRODUCT(IFERROR(REGEXREPLACE(SPLIT(
 SUBSTITUTE(LOWER(D28), "quantity:", "♦"), "♦"), ",.*|}.*", "")))

0

© www.soinside.com 2019 - 2024. All rights reserved.