查看原文
其他

作图前的数据预处理

2016-01-28 小魔方 数据小魔方




今天给大家讲解作图前原数据的排序整理技巧



前一篇推送讲到了条形图数据系列顺序反转问题


原数据系列的排序只是给大家提示要用智能表格排序


今天交给大家一种更简洁高效的自动排序方式


——复合函数嵌套排序法



虽然函数代码 有点儿小复杂


用到了large、index、match函数嵌套


但是只要理解并记住函数语法


会用就OK了没必要自己学会写


这种方式的最大好处是排序是自动的


即便你修改了原数据区域的数值


图表也会自动执行函数的排序命令


并在图表中呈现新的数据系列排序结果



看下原数据:




本例一共需要四列辅助数据




首先需要添加一列用于后续排序函数引用的序列C列(1~9)


然后需要一列新的数据源(D列)用于区别原数据中的相同值


B4+ROW()/100000


上述函数意思是B4的数据加上所在行数的1/100000


目标是区别不同行的相同数值


因为向下填充函数公式的时候即便遇到相同数据


但是行数不同会造成非常微小的数值差异



F列为根据D列新数据源排序而得到的作图数据


LARGE($D$4:$D$12,C4)


large是降序函数(即由大到小排列)


第一个参数代表需要降序排列的数据源


第二个参数代表在F4中显示第N个降序数据


以上函数大意是指在D列数据中(D4至D12)降序排列


并显示第1个(C1)数据


从F4向下填充函数公式


F4列的数据就是根据D4列降序排列的数据



E列数据是根据新的作图数据F列数据所匹配的数据标签


INDEX($A$4:$A$12,MATCH(F4,$D$4:$D$12,0))


第一个参数代表要匹配的原数据标签区域


第二个参数代表要匹配的数据标签对应的行号


通过嵌套一个match匹配函数来实现


match函数内有三个参数


第一个参数代表要查找的数据


第二个参数代表要查找的数据区域


第三个参数0代表查找类型(本例中是指精确查找)


整个match函数要实现的功能是


精确查找F4单元格数据在D4到D12数据区域的行位置

然后输出行号成为外层index匹配函数要匹配的行参数


整个index函数所代表的意思是


在E4单元格中显示

根据F4数据在D4到D12数据区域的行位置

在A4到A12数据标签区域查找到对应行的数据标签


听起来比较绕


就是针对排序后的F列作图数据


按照最初(A列)的数据标签顺序在E列中重新匹配数据标签



所有的数据整理好之后


利用新的作图数据(E列和F列)


制作条形图


然后反转条形图数据系列顺序(前一篇推送)




最终的图表是这样的






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存