在一个领域循环一个公式
我有这样的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:B7
和C2: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数组,但是这很容易。