Excel - Как суммировать составные подстроки - PullRequest
2 голосов
/ 07 мая 2020

У меня проблема, которую я пытаюсь решить в Excel, и я смог найти решение только противоположной проблемы.

У меня есть список данных в форма, подобная следующей:

A  | 10
B  | 15
C  | 12
D  | 17

И я хочу иметь возможность создать строку из любой из этих строк один раз и получить сумму. Таблица результатов будет выглядеть примерно так:

A         |   10
A, B      |   25
A, C      |   22
A, C, D   |   39

Из всего, что мне удалось найти, я не смог найти способ проверить, содержит ли строка другие строки в качестве подстрок, а затем добавляет связанное значение к итоговой сумме, если это правда.

Ответы [ 2 ]

3 голосов
/ 07 мая 2020

В дополнение к @BigBen вы можете попробовать в ячейке F1:

=SUMPRODUCT(SUMIF(A$1:A$4,FILTERXML("<t><s>"&SUBSTITUTE(E1,", ","</s><s>")&"</s></t>","//s"),B$1:B$4))

Это должно избавить от возможных ложных срабатываний.

3 голосов
/ 07 мая 2020

Один подход с SUMPRODUCT и SEARCH.

=SUMPRODUCT(ISNUMBER(SEARCH($A$1:$A$4,E1))*$B$1:$B$4)

enter image description here

Однако помните о подводных камнях при сопоставлении подстрок; например, AA in E1 все равно вернет 10 in F1.

...