在一个领域循环一个公式

我有这样的Excel中的一些数据:

| id | categorie | number | | 1 | a | 123 | | 2 | b | 23 | | 3 | c | 65 | | 4 | b | 102 | | 3 | d | 65 | | 4 | e | 102 | | .. | ... | ... | 

我正在创build一个报告,说:

 | categories | Sum | | a | 123 | | b;c | 190 | | many categories | ... | 

我怎样才能使用一个公式 ,循环和分割单元格的值来计算总和?

如果不使用VBA,则无法“循环” 然而“循环”并不是你真正需要的。

SUMIFS公式有以下参数:

 =SUMIFS(SUM_Range,CRITERIA1_Range,CRITERIA1,CRITERIA2_Range,CRITERIA2...) 

简而言之,它会添加SUM_Range中的所有项目,其中其他范围的匹配单元格与其标准相符。

即:

 =SUMIFS(C:C,B:B,"a") 

这会给你C列的总和,那列的B列匹配“a”。 假设“a”在单元格D1中,其他所有术语都在下面。 您可以按如下方式重新键入,然后向下拖动:

 =SUMIFS(C:C,B:B,D1) 

请注意,您在search区域有多个词条 – 我build议您将它们分成不同的行; 它会让你的生活更轻松。 如果需要的话,把它们加在一起。

在表中添加一个新列,用于定义类别的分组方式:

 | id | categorie | number | group | 1 | a | 123 | 1 | 2 | b | 23 | 2 | 3 | c | 65 | 2 | 4 | b | 102 | 3 | 3 | d | 65 | 3 | 4 | e | 102 | 3 | .. | ... | ... | 4 

 | categories | Sum | Group | a | 123 | 1 | b;c | 190 | 2 | many categories | ... | 3 

比使用SUMIF :

SUMIF(范围,标准,[sum_range])

在你的情况下,它将是:

 SUMIF(GROUPCOLUMN, "=THATLINEGROUPCELL", NUMBERCOLUMN) 

这是公式解决scheme。

假设你在单元格F2中input你想要求和的类别。 例如你inputF2: a;b

然后在G2中input这个公式:

 =SUM(C2:C7*IFERROR(B2:B7=MID(F2,COLUMN(OFFSET($A$1,,,,LEN(F2))),1),0)) 

这是一个数组公式,并且必须用Ctrl + Shift + Enter确认

您应该调整对B2:B7C2:C7的引用以匹配您的源列表。

您可以将此公式用于单个字母类别名称的任意组合,以产生这些类别的总和。

我将打电话给你的列(忽略ID)A和B,数据行从2开始,然后到第7行。因为我假设你想要一个表格,你可以拖拽公式,同时引用类别是a,b ,c …让我们说这些标签从A10开始(下面):

在单元格B10 =SUMIF($A$2:$A$7,"<="&A10,$B$2:$B$7)然后只需将其拖放到您的标签(显然根据需要更改引用)

对于组合只要做一个sumif()+ sumif()。

我打算build议一个sumproduct数组,但是这很容易。