Невозможно получить значения для суммирования.
Я могу извлечь значения с помощью:
=INDEX(IFNA(REGEXEXTRACT(Sheet1!A:A, "\$(\d+.\d+|\d+)")*1))
Но я не могу им соответствовать. На изображениях ниже я хочу, чтобы столбец D1 извлекал все значения $ из A: A. Если значение в столбце B на листе Sheet1 соответствует имени в столбце A на листе 2, суммируйте проиндексированные значения $ и печатайте их в столбец D.
Попробуйте это:
=SUM(FILTER(--REGEXEXTRACT(Sheet1!A:A,"\$([\d,]+)"),Sheet1!B:B=A2))
Или единая формула для всего столбца:
=MAP(A2:A,LAMBDA(name,IF(name = "",,
SUM(FILTER(--REGEXEXTRACT(Sheet1!A:A,"\$([\d,]+)"),Sheet1!B:B=name)))))
Вы также можете сделать это с помощью СУММПРОИЗВ
Тянуть вниз
=SUMPRODUCT(REGEXEXTRACT(Sheet1!A:A,"\$([\d,]+)"),Sheet1!B:B=A2)
Автозаполнение
=MAP(A2:A,LAMBDA(name,IF(name = "",,
SUMPRODUCT(REGEXEXTRACT(Sheet1!A:A,"\$([\d,]+)"),Sheet1!B:B=name))))
это умножение, что вы делаете в конце *1
, вы можете заменить его результатом логической логики, так как Sheet1!B2:B=A2
выведет либо TRUE
, либо FALSE
, что равно 1
или 0
=SORT(IFNA((Sheet1!B2:B=A2)*REGEXEXTRACT(Sheet1!A2:A, "\$(?: )?([\d,.]+)")))
на сумму:
=SORT(SUM(IFNA((Sheet1!B2:B=A2)*REGEXEXTRACT(Sheet1!A2:A, "\$(?: )?([\d,.]+)"))))