如果单元格包含多个逗号分隔值(来自另一个单元格),则求和

时间:2018-06-19 21:25:27

标签: excel excel-formula

我有一个攻击列表以及 powers 。我想获得与另一个单元格中多个逗号分隔值匹配的所有的总和。

这是我的第一张纸的样子:

第1张

| Attack               | Power         |
|:---------------------|:--------------|
| nuke                 | 300           |
| nuke and laser       | 500           |
| megalasernuke        | 1000          |
| fist                 | 10            |
| weak fist and bow    | 50            |
| supreme fist and bow | 100           |

第2张纸

使用B栏中的=SUMIF('Sheet1'!A:A;"*"&A2&"*";'Sheet1'!B:B),我的第二张纸可以返回包含一个值的所有功效的总和:

| Attack               | Sum of Power  |
|:---------------------|:--------------|
| nuke                 | 1800          |
| fist                 | 160           |

我希望能够对Sheet1中的单元格包含多个逗号分隔的值(全部)进行求和,得出以下结果:

| Attack               | Sum of Power  |
|:---------------------|:--------------|
| nuke,laser           | 1500          |
| fist,bow             | 150           |
| fist,bow,nuke        | 0             |
| fist                 | 160           |

在没有自定义excel脚本的情况下可以做到吗?

1 个答案:

答案 0 :(得分:4)

它不漂亮,但是我想不出另一种方法,因为您想重复两次:

=SUMPRODUCT(ISNUMBER(SEARCH(TRIM(MID(SUBSTITUTE(D2,",",REPT(" ",99)),1,99)),$A$2:$A$7))*ISNUMBER(SEARCH(TRIM(MID(SUBSTITUTE(D2,",",REPT(" ",99)),99,99)),$A$2:$A$7))*ISNUMBER(SEARCH(TRIM(MID(SUBSTITUTE(D2,",",REPT(" ",99)),198,99)),$A$2:$A$7))*$B$2:$B$7)

这最多只能使用三个逗号分隔的值。

enter image description here