我着实对数组公式产生了强烈的怨念。
同时也对微软或者说是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、成品图展示一下: