2011-06-10 94 views
28

我正尝试创建电子表格以在小型零售店中使用。Excel - 如果通过检查同一表中的其他列来满足条件,则列列Sum

我有一张工作簿,其中包含一张纸上的费用数字和另一张纸上的收入数字。

我们可以说两张纸之间的共同点是月份。

我想写一个函数,它只会选择指定月份的那些开销。

喜欢的东西 -

=SUM(IF(Table4[Month]="January", Table4[Amount])) 

// I want the sum of all expenses of a given table for only 
// those months which are january etc. 

我试着用上面的,但是失败了。

回答

17

这应该有效,但有一个小窍门。输入公式后,您需要在按Enter键的同时按住Ctrl + Shift键。当你这样做时,你会发现配方栏在你的配方中有花括号。这被称为数组公式。

举例来说,如果月是在细胞A2:A100和金额都在细胞B2:B100,您的公式看起来像{=SUM(If(A2:A100="January",B2:B100))}。你实际上并没有输入大括号。

你也可以做点像=SUM((A2:A100="January")*B2:B100)。你仍然需要使用这个技巧来让它正常工作。

+0

非常感谢!,第一个选项对我来说不起作用,但我尝试了第二种方式,并且像魅力一样工作! :D – Kunal 2011-06-10 17:40:17

+1

在excel中15年从未听说过数组公式。你怎么知道的?! +1对你来说还不够。 – Emad 2017-01-09 09:32:55

+0

聪明的答案,但@Alen的解决方案下面更优雅 – peter 2017-11-13 10:19:13

62

其实更精细的解决方案是使用内置函数sumif,这个函数完全符合你的需求,只会计算指定月份的费用。

例如

=SUMIF(A2:A100,"=January",B2:B100) 
+1

@Don Pratt,没有出现如何调用一个数组公式,但我明白是按住** shift **而按**进入**,对吧? – Alen 2011-06-10 20:04:32

+0

要调用数组公式,需要按CTRL + SHIFT + ENTER。 – Jubbles 2011-06-10 20:23:26

+0

好点,@Alen。感谢您的提醒。只要您只有一个标准,SUMIF()就可以很好地工作。任何一个数组公式都可以扩展以处理多个条件。 Excel 2007增加了SUMIFS()函数来处理这个问题,但是旧的模式很难; – 2011-06-10 21:45:51

0

SUMIF并没有为我工作,只好用SUMIFS。

=SUMIFS(TableAmount,TableMonth,"January") 

TableAmount是总结的值表,TableMonth表,我们搜索条件和一月,当然,条件满足。

希望这可以帮助别人!

0

MLot#CN顾客颜色面料GRY重量率海峡打印 CL-10531的Bal ES服装海军HTR S /Ĵ351.25 95
CL-15558 DYD质谱服装H /灰色2Flc 981.00 50
CL-16455巴尔冠纺织Boardex 3Flc 622.00
CL-16664 DYD萨勒曼工业风铃2Flc 707.05是 CL-16732 DYD萨勒曼工业桃鞭2Flc 711.70是是 CL-16900 DYD萨勒曼工业H /灰色2Flc 526.70 90是 CL-16901 Fnsh萨勒曼行业Plane Moul 2Flc 974.40是是 CL-16913 Dyd Pelikan针织品蓝色Flot F/T 579.90 175是 C L-16990 Fnsh萨勒曼工业H /灰色2Flc 978.95 90是是 CL-17058 DYD MR导出H /灰色3Flc 972.50是 CL-17192 DYD伯利坎针织品蓝FLOT F/T 742.00 175是 CL-17193 DYD Zubisma服装海军3Flc 473.20是是 CL-17244 Dyd Pelikan针织衫黑色3FLC 440.25 160是 CL-17250 Dyd MR出口午夜海军2Flc 794。35是 CL-17278 DYD伯利坎针织品白色2Flc 1002.05是是 CL-17321 DYD伯利坎针织品木炭2Flc 315.00 140是 CL-17339 DYD MR导出H /漂白3Flc 954.95是

[表[CN] =” DYD” 而 表[海峡] = “是” 而 表[打印] = “是” 然后 表的总和[GRY重量] * 20

结果应该是= 711.7 * 20 + 473.2 * 20 + 1002.05 * 20 = 43,439 ] 1

相关问题