例:A列为序号:1、2、3、4、5、6、7、8;
B列:10、30、20、25、30、10、25、10;
求解列:C列为:根据B列的数据先从大到小排序后,再返回对应A列的序号。重复数据不能遗漏。希望公式返回的C列的结果为:2、5、4、7、3、1、6、8,而不是:2、2、4、4、3、1、1、1。即重复部分最好能随机排序并返回对应值,而不是一直返回第一次出现该数据的返回对应值。求高人指点。只是惭愧,没有财富值。望好心人帮忙。
备注:上次 fjmxwrs大师给了个公式,=INDEX(A:A,RIGHT(LARGE(RANK(B$1:B$8,B:B,1)/1%+ROW($1:$8),ROW()))),计算基本正确,但是我在最上面插入行之后,即报错。再请高人指点。最好是可以在这个数组区域外随意添加行或者列。谢谢
可我一旦在第一行上面在插入一行,数据就报错呢,如果插入两行,数据更是不对,请问我该怎么改?
追答=INDEX($A$1:$A$100,MATCH(LARGE($B$1:$B$100-ROW($B$1:$B$100)/10^4,ROW(1:1)),$B$1:$B$100-ROW($B$1:$B$100)/10^4,),)
不管在上面插入多少行都可以,只要把公式中的ROW(1:1)保持不变就行
同样如果我在最上面随意插入几行,并且B行数据也是没有规律的整数,比如:1、3、5、3、8、2、16、5等等。请问大师怎么改写公式?
追答我把公式修改为自动判断AB二列最后一行数据了
不需要再修改公式了。
我上面讲的很清楚了。
AB二列接着向下输入数字即可
如果前面插入,需要选中AB这一行的二个单元格进行插入,不可以选中行号插入,那样公式就断开了。
不好意思,而我需要的恰恰是在行号上插入新行(当然是在数组区域外),因为我的数据行并不是从第一行开始的,我的提问只是列举了一组例子,实际数据,我是从第66行到98行的一组数据。A66:1 B66:222,A67:2 B67:214,A68:3 B68:253,A69:4 B69:222,A70:5 B70:222,A71:6 B71:214,......A98:33 B98:188。
另外,我需要在该数组区域外任意添加行或者列。比如在A55或者A33上面直接加入行。求大师指点。