Агрегирование с помощью регулярных выражений в Google Sheets - PullRequest
0 голосов
/ 30 апреля 2019

В моей электронной таблице есть следующая ячейка.Это строка, имеющая структуру объекта JSON.

D2 = {color: white, quantity: 23, size: small}, {color: black, size: medium, Quantity: 40}

Для ячейки D3 я хочу, чтобы на выходе было 63, что является суммой величин, найденных в D2.Кроме того, следует отметить следующие вещи:

  • Если что-то идет не так, например, если количество задано в виде строки, то D3 просто остается пустым.
  • В любое время D2 обновляется, D3 также обновляется.
  • Если D3 обновляется вручную, этот результат сохраняется вместо формулы.Это произойдет для строк, где D2 пусто.

Есть ли способ сделать это с помощью Google Sheets?Я попытался использовать REGEXEXTRACT, однако он не дал никакого результата.Любая помощь очень ценится.

Правки:

  • Порядок атрибутов не важен.Например, количество может отображаться до или после размера.
  • Случай также не важен.

1 Ответ

1 голос
/ 30 апреля 2019
=SUMPRODUCT(IFERROR(REGEXREPLACE(SPLIT(D22, ":"), "}.*", "")))

0

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

0 0

...