Google Таблицы: СУММИРОВАНИЕ нескольких чисел в одной ЯЧЕЙКЕ на основе Word - PullRequest
2 голосов
/ 26 мая 2020

Я хочу вычислить СУММА сколько проданных товаров, проданные товары заключены в квадратные скобки, например: Название 1-го продукта [1] (для этого продукта 1-й продукт Название покупатель покупает только 1 товар так как можно СУММИРОВАТЬ проданное количество для каждого продукта, даже если в одной ЯЧЕЙКЕ записано много продуктов:

Ссылка на лист (вы можете редактировать в помощь): https://docs.google.com/spreadsheets/d/1xoNPfIfrVv7jF8W3Pa67Iu9oJRz2NOncW7oLQ94mWQ4

enter image description here

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Введите следующую формулу в B2 и скопируйте ее из B2 в D5

=IF($A2="","",IFERROR(MID($A2,(FIND("[",$A2,FIND(B$1,$A2,1))+1),(FIND("]",$A2,FIND("[",$A2,FIND(B$1,$A2,1))+1)-1)-(FIND("[",$A2,FIND(B$1,$A2,1))+1)+1),0)*1)

enter image description here

Изменить: Согласно вашему комментарий ниже, добавив формулу для столбцов цен. Просто замените «[» на «€» и укажите верхние ячейки в столбцах.

=IF($A3="","",IFERROR(MID($A3,(FIND("€",$A3,FIND(B$1,$A3,1))+1),(FIND("]",$A3,FIND("€",$A3,FIND(B$1,$A3,1))+1)-1)-(FIND("€",$A3,FIND(B$1,$A3,1))+1)+1),0)*1)

enter image description here

1 голос
/ 26 мая 2020

Используйте эту формулу в ячейке B2:

=TRANSPOSE(QUERY({ArrayFormula( 
                   {REGEXEXTRACT(QUERY(flatten(ArrayFormula(IFERROR(SPLIT(A3:A,",")))),"where Col1 <>''"),"[^\[]+"), 
                    REGEXEXTRACT(QUERY(flatten(ArrayFormula(IFERROR(SPLIT(A3:A,",")))),"where Col1 <>''"),"\[(\d+)")*1}) 
                }, "select sum(Col2) group by Col1 label sum(Col2) '' "))

enter image description here

Используемые функции:
+ TRANSPOSE
+ QUERY
+ ArrayFormula
+ REGEXEXTRACT
+ flatten Недокументировано
+ IFERROR
+ SPLIT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...