【问题标题】:Sum if cells contain a range of multiple comma separated values (From another cell)如果单元格包含多个逗号分隔值的范围,则求和(来自另一个单元格)
【发布时间】:2018-06-19 21:25:26
【问题描述】:

我有一个攻击列表以及权力。我想获得与另一个单元格中的多个逗号分隔值匹配的所有 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),我的第二张表可以返回包含 one 值的所有幂的总和:

| 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 脚本,这可能吗?

【问题讨论】:

  • 所以你想要一个 AND 关系而不是逗号列表上的 OR?
  • 是的!如果单元格包含nuke AND laser 等,则求和。

标签: excel excel-formula


【解决方案1】:

它不漂亮,但我想不出另一种方法,因为你想迭代两次:

=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)

这只适用于最多三个逗号分隔的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多