Excel SUMIF 当另一个单元格包含文本时

Excel SUMIF when another cell contains text

为了举例,我有以下 table:

|    |     A      |    B     |
|    |------------|----------|
|  1 |Description |Amount    |
|  2 |------------|----------|
|  3 |Item1       |      5.00|
|  4 |Item2**     |     29.00|
|  5 |Item3       |      1.00|
|  6 |Item4**     |      5.00|
|  7 |------------|----------|
|  8 |Star Total  |     34.00|
|  9 |------------|----------|

我想在 B8 中创建一个公式,如果该金额的描述包含“**”(或其他一些表示文本),则计算该金额的总和。在这个特定的例子中,我想要一个 returns 34 的公式,因为只有 Item2 和 Item4 包含“**”。

我尝试使用类似这样的方法,但它仅基于 A3 中的值起作用:

=SUMIF(A3:A6, ISNUMBER(SEARCH("**", A3)), B3:B6)

如有任何建议,我们将不胜感激!

星号是可以在 Sumif() 中使用的通配符,因此您可能希望将指示文本更改为其他一些符号,例如 @@。那么这个公式将起作用:

=SUMIF(A2:A10,"*@@*",B2:B10)

如果你想保留星号,公式会变得有点卷曲。

=SUMIF(A2:A10,"*~*~**",B2:B10)

中间的两个星号用波浪字符转义。

您可以转义通配符并将其转换为文字 *,方法是在它前面加上一个短划线(波浪号,~),这样就可以保持数据不变:

=SUMIF(A2:A7,"*~*~*",B2:B7)  

IMO 值得,因为星号相对 'elegant'。