![如果某个单元格为空白,并且同一行中某个单元格的文本等于某个值,则对另一个单元格求和](https://linux22.com/image/1635973/%E5%A6%82%E6%9E%9C%E6%9F%90%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%BA%E7%A9%BA%E7%99%BD%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%90%8C%E4%B8%80%E8%A1%8C%E4%B8%AD%E6%9F%90%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E7%9A%84%E6%96%87%E6%9C%AC%E7%AD%89%E4%BA%8E%E6%9F%90%E4%B8%AA%E5%80%BC%EF%BC%8C%E5%88%99%E5%AF%B9%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E6%B1%82%E5%92%8C.png)
我有一个电子表格,但我不明白它是如何工作的,这可能是因为我使用了范围。我的电子表格如下所示:
[ A ] [ B ] [ C ] [ D ]
[Product name] [Price] [Bought by] [Has been paid]
[ PRODUCT 1 ] [ 100 ] [ Peter ] [ ]
[ PRODUCT 2 ] [ 100 ] [ Peter ] [ X ]
[ PRODUCT 3 ] [ 100 ] [ Jane ] [ X ]
[ PRODUCT 4 ] [ 100 ] [ Jane ] [ X ]
[ PRODUCT 5 ] [ 100 ] [ Peter ] [ ]
如果 D 为空白且 C 等于文本字符串,则将 B 添加到总和中并将其输出到单元格中。
以下是我所拥有的:
=SUM(IF(AND(ISBLANK(D2:D999), (C2:C999 = "Peter")), B2:B999, 0))
我认为这样做的目的是:
if cell D2 is blank AND cell C2 equals Peter, add B2 to the sum, otherwise add 0
repeat for all rows
因此,在上面的例子中,由于 Peter 尚未收到产品 1 或产品 5 的付款(标记为 X),因此应该将价格列中的 2 个价格相加,从而返回 200。
我感觉我已经很接近了,但我真的不确定。我在这里写了一个更好的例子,也许这能有所帮助:
sum = 0
foreach( row in rows )
if( row.D = "" AND row.C = "Peter" )
sum += row.Price
//insert(row, col, sum)
我需要两个这样的函数。一个用于 Jane,一个用于 Peter。这就是我添加条件来检查同一列的单元格是否等于“Peter”的原因。