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

Correcting an aggregation formula using regex in Google Sheets so that all instances are considered

我的电子表格中有 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。所以,我想做三件事:

我该如何解决这个问题?我尝试删除正则表达式的 "}.*" ,但这似乎破坏了公式。感谢任何帮助。

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