假设我有下表:
State CompanyTypes Year Sales
AZ A, C 2008
CA B, C, D 2009
TX C 2007
WA A, D 2008
我需要填写Sales
列,根据特定年份某个特定州的所有公司类型的SUM
销售额。
包含所有数据的源表如下所示:
Year State CompanyType TotalSales
2008 AZ A 100
2008 AZ C 500
2009 CA B 9000
2009 CA C 15664
2009 CA D 12351
2008 TX C 5
2009 WA A 789
我熟悉SUMIF
,但由于CompanyTypes列中的逗号分隔值,我不知道如何填写第一个表的Sales
列。
有人知道吗?
答案 0 :(得分:1)
Ray,我注意到sales表具有以下属性:在每一行中,状态和年份组合在“AZ”和“2008”在所有行中只出现一次的意义上是唯一的。如果这是真的,那么这个公式应该可行
=SUMIFS(D4:D10,A4:A10,I4,B4:B10,G4)
此公式可查找特定年份特定州的所有销售总额,无论公司如何。请注意,如果您在sales表中有这样的内容,这将不起作用。
AZ A 2008
AZ C 2008
相反,你可以使用下面的公式,虽然更通用但是很长。
=IF(
IFERROR(
FIND("A",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"A",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
+IF(
IFERROR(
FIND("B",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"B",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
+IF(
IFERROR(
FIND("C",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"C",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
+IF(
IFERROR(
FIND("D",$H4),
0
),
SUMIFS(
D$4:D$10,
C$4:C$10,"D",
A$4:A$10,$I4,
B$4:B$10,$G4
),
0
)
您可以将其直接复制粘贴到公式栏中。 该公式包含4个“IF”块,每种类型的公司一个。如果还有更多,则还应添加相应的“IF”块。
包含两个表格的Google文档link。 该公式已在Excel 2010中进行了测试.Google Docs不显示公式,而是显示导入excel文件时计算的总和。
希望这有帮助。
答案 1 :(得分:1)
根据CompanyTypes中“A,B,C”的确切格式(即空格不重要),您可以使用以下公式。我使用了CompanyType的“CT”的命名范围,TotalSales的“TS”,State的“State”,所有都在源表中。我在B列中有CompanyTypes,第一个State列是A.
=SUMIFS(TS, CT, MID(B2,1,1), State, A2) +
SUMIFS(TS, CT, MID(B2,4,1), State, A2) +
SUMIFS(TS, CT, MID(B2,7,1), State, A2)
只需将其放在第一个Sales单元格中(例如假设第2行)并填写。