SQL和Excel Sumifs条件

时间:2016-09-06 22:55:02

标签: excel sumifs

开始这个问题的最好方法是使用特定的示例

enter image description here

只有三个不同的索赔号。有没有办法总结包含收入代码320和300的索赔的帐单金额,而不用税收代码“450”汇总索赔?在这个具体的例子中,claimNo U4343符合我想要的具体条件140.我有大量的数据集可以使用,我只是想知道在SQL(Access语法)和Excel 2010中是否有这个过程的快捷方式?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

MS Access

SELECT ClaimNo, SUM(Billed)
FROM mytable
WHERE [Revenue Code] <> 450 -- or '450', depends on the column's type
GROUP BY ClaimNo

Excel中

您可以将SUMIFS功能用于多个条件:

SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

假设目标索赔号放在 E 列中,对于第一个索赔 U577 ,您可以在列 F :

SUMIFS(C:C;A:A;E2;B:B;"<>450")

Result for Excel

答案 1 :(得分:0)

我可以为SQL部分执行此操作。我理解你的问题的方式,你想要完全抛弃任何行中包含收入代码450的任何索赔号。然后,对于没有的任何索赔号,请计算结算列。以下是如何做到这一点:

SELECT claimno, sum(billed)
FROM T
GROUP BY claimno
HAVING claimno NOT IN
(SELECT claimno
 FROM T
 WHERE revenue_code = 450)

但是,如果您想对每个索赔号的结算金额求和,只需排除包含收入代码450的行,就可以这样做:

SELECT claimno, sum(billed)
FROM
(SELECT claimno, billed
 FROM T
 WHERE revenue_code <> 450) sub
GROUP BY claimno

在这里测试:http://sqlfiddle.com/#!9/ae94a/6