关于Excel的数组公式之柱状图排序

我着实对数组公式产生了强烈的怨念。

同时也对微软或者说是WPS有了强烈的怨念,明明他们可以轻松实现的事情,为什么就不做呢?

曾尝试公式:

=IFERROR(INDEX(A:A,SMALL(IF($B$2:$B$20="Sam",ROW($2:$20)),ROW(A1))),"")

=INDEX(A:A,SMALL(IF($B$2:$B$20="Sam",ROW($2:$20),4^8),ROW(A1)))&""

我只是想实现上图中看到的,在不更改原表中数据排序的情况下,对柱状图图表进行排序,然而,费了九牛二虎之力...依然没有成功!昨晚研究到凌晨两点,今天一上午的时间基本都耗在这张表上,结果仍然没有很有效的解决方案。虽然说最终还是实现了想要的效果,也是几经周折。

记录一下解决思路:

1、首先在Q列(Q15)对课堂实录占比区域进行Rank排序,公式:

=RANK($H15,$H$15:$H$61,0)+COUNTIF($H$15:H15,H15)-1

2、然后将序号倒叙作为整个级部教师应用情况的倒数排名并插入R列(R15),再用Index获取同一排名的姓名,公式使用了Index+Match结构,在使用的过程中,找度娘聊了会儿,发现了一个不错的初级教程:

INDEX函数:返回表中的值

=INDEX(在哪儿找,第几行)

MATCH函数:返回指定数值在指定区域中的位置

=MATCH(找谁,在哪儿找,匹配方式)

VLOOKUP函数:纵向查找返回表中的值。缺点:查阅值需要位于查找区域的第一列。

=VLOOKUP(找谁,在哪儿找,第几列,匹配方式)

节选自百度百家号,原文地址:

https://baijiahao.baidu.com/s?id=1606405029318751713&wfr=spider&for=pc

在构思的过程中,Match函数的“找谁”其实就是序号的倒叙列表,那么我何不将原数字改为Large函数取值,于是我删掉了原R列,并在R列使用了现在的公式:

=INDEX($C$15:$C$61,MATCH(LARGE(B$15:B$61,1),Q$15:Q$61,0))

3、同样的思路,我再将占比数据使用Index+Match结构输出到S列(S15),这样,整体的图表数据有产生了,公式:

=INDEX($H$15:$H$61,MATCH(LARGE(B$15:B$61,1),$Q$15:$Q$61,0))

这里面还有个小技巧,Index公式在下拉的时候,Large(B:B,K)中的K值是不变的,所以需要将K值改为不可能重复的单元格,比如DA1,然后下拉列表,这时所选区域内的数据全部是错误的。只需要按Ctrl+H键进入替换,将DA替换为空值,数据就正确了,图表即可正常顺序显现。

4、最后,把图表拉到数值上,将数值盖住,嘿嘿嘿...复制的时候,只需要选中第一行轻轻往下一拉,整个数据区域都可以复制上,然后粘贴到微信或QQ聊天框内,就可以保存为图片了。

5、成品图展示一下:



你可能感兴趣的:(关于Excel的数组公式之柱状图排序)