MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101

Posted Mr_Cxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101相关的知识,希望对你有一定的参考价值。

计算一些数不难,整体来说还是要培养自我的逻辑意识,逻辑清楚,代码自然而然就知道,总体上训练自己的逻辑,一个是从用户角度,一个是从产品角度。

用户角度需要考虑的是用户的活跃度,具体又可以细分为用户的注册日期,下单间隔,用户各个时间维度的订单数,订单额,等等

产品角度考虑产品分类,产品品牌,产品供应商角度等等。

今天一个需求是谈及一些品牌合作商合作,需要要一些数据,统计锦3个月的销量和金额,采购部门提供了一些品牌。

如果按照传统上出数,只需要在where 条件中加上 品牌 in (品牌1,品牌2,品牌3 等等) 只给他这些数据可以实现,不过如果下次他要考察这次品牌之外的数据 是不是还得修改where 条件去限制  不仅如此 where in 这些条件限制 打出来也比较麻烦 

比较好的逻辑是把所有品牌的金3个月的明细汇总调出来,通过excel sumif    sumifs 函数 

品牌汇总的SQL 如下 数据经过修改

SELECT d.ID,c.城市,c.品牌名称,c.年月,COUNT(c.产品ID) AS SKU数,SUM(订单额) AS 订单额,SUM(打包量) AS 打包量
FROM (
    SELECT a.城市,a.产品ID,a.产品名称,b.品牌名称,DATE_FORMAT(a.订单日期,"%Y%m") AS 年月,SUM(a.金额) AS 订单额,SUM(`汇总打包量`) AS 打包量
    FROM `a003_order` AS a
    LEFT JOIN `a002_sku` AS b ON a.产品ID=b.产品ID
    WHERE a.订单日期>="2016-08-01" AND a.订单日期<"2016-11-01" AND a.金额>0
    GROUP BY a.城市,a.产品ID,DATE_FORMAT(a.订单日期,"%Y%m")
) AS c
LEFT JOIN `a000_city` AS d ON d.城市=c.城市
GROUP BY c.城市,c.品牌名称,c.年月
ORDER BY d.ID,c.年月

excel:品牌汇总sheet表 数据

 

这个excel sheet表里品牌不只有ABCD4个品牌,而是多个品牌 

我们按照下面格式展现数据,运用刚刚提到的两个函数

以后如果他想看什么品牌的 什么时间段的 我们只需要修改where 时间限制就可以 同时把需要展现的品牌替换掉就可以了

 sumif()公式:=SUMIF(品牌汇总!$C:$C,数据!$B4,品牌汇总!G:G)   也就是(条件区域A,条件B,求和区域C) 其中条件B在条件区域A内 

也就是求条件B的求和区域C的和

品牌汇总!$C:$C: 这是选中品牌汇总表中C列 及品牌列  这是条件区域

数据!$B4:这是数据中B4单元格 也就是品牌A  可以发现 这个品牌A在上面的条件区域中

品牌汇总!G:G:这是选中品牌汇总表中G列 及品牌列  这是求和区域 及打包量 

解释一下就是在品牌汇总表中求品牌A的打包量的总和  

 

 SUMIFS(品牌汇总!$F:$F,品牌汇总!$C:$C,数据!$B4,品牌汇总!$B:$B,F$3,品牌汇总!$D:$D,201608)

SUMIFS(求和区域,条件区域A,条件A,条件区域B,条件B) 条件A在条件区域A内 条件区域B在条件区域B内 

其中也使用了绝对引用 相对引用 半绝对引用 直接拖动公式就可以

结果如下

 如果想看品牌ABC和SD 9月的 把公式中全选数据sheet表 整体把201608换成201609  数据sheet表中D改成SD即可

这样自主操作性很方便

 

以上是关于MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL中的SUMIF函数的参数"Sum_Range"是啥意思,请举个例子!

EXCEL请详细说明sumif函数的用法

excel表格中怎么分类求和?

日期之间的 Excel SUMIF

excel技巧

EXCEL入门