函数返回的求和值,而不为它们创建新的列/行

时间:2015-04-21 22:02:34

标签: excel

我遇到以下问题:假设我在A列中有以下四行:

Alice: $5
Bob: $12
Alice: $23
Bob: $4

我想要做的只是为Alice添加$值。我想出了这个从单行中提取数值的函数:

=if(isnumber(find("Alice", A1)),right(A1, (len(A1) - find("$",A1))),0)

这样,如果是Alice的行,则行给出$ $,如果不是,则为0。如果我需要的话,它可以很容易地让它重用于Bob。 问题是通常我只是使用sum函数来汇总列中的所有数据(=sum(A1:A4)),但是以这种方式将它用于函数:

=sum((if(isnumber(find("Alice", A1)),right(A1, (len(A1) - find("$",A1))),0)):(if(isnumber(find("Alice", A4)),right(A4, (len(A4) - find("$",A4))),0)))

显然不起作用。我该怎么办?但是还有一个要求 - 我不能创建任何用于存储这些函数返回的值的列(如果可以的话,我只需创建四个新行,比如B1:B4和sum它们)

1 个答案:

答案 0 :(得分:1)

在以下示例中,数据集是命名范围“TestNames”

SUMPRODUCT(IF(ISERROR(FIND(“Alice”,TestNames)),0,ROWS(TestNames)^ 0)*(RIGHT(TestNames,LEN(TestNames) - FIND(“$”,TestNames))))

这是一个常规公式,不需要输入CSE