使用excel公式查找重复值对应的另一列值?
原始数据如图1,在B列中查找小于等于C1的值,然后在A列中找出这些值对应的值,并显示在D列中,比如在B列中第一个查找到的是20,期在A列中对应的值是“”丁“”,第二个查找...
原始数据如图1,在B列中查找小于等于C1的值,然后在A列中找出这些值对应的值,并显示在D列中,比如在B列中第一个查找到的是20,期在A列中对应的值是“”丁“”,第二个查找的仍然是20,其在A列中对应的是“辛”,第三个查到的是18,在A列中对应的是“子”,依次类推,结果如图2所示。
展开
3个回答
展开全部
应该是这个意思吧,数组公式,在函数输入栏输入后按ctrl+shift+enter,再下拉就可以了
=IFERROR(INDEX($A$1:$A$15,100-RIGHT(LARGE(IF($B$1:$B$15<=20,$B$1:$B$15*1000-ROW($B$1:$B$15),""),ROW(A1)),2)),"")
说明:
if语句,判断B列是否小于等于20,如果是,记下这个值乘以1000再减去行号的数(这个构造出来的数字相等于记下了原数字和行号两个数,只要通过简单的计算就可以恢复这两个数,同时把相同数字按顺序区分出了大小,因为先出现的算比后出现的数字大,所以这里是用的减号,后面计算的100减去后两位就可以恢复出这个数的行号了,这个问题关键就是在这个数字的构造这里,后面都好解决了)
large语句,找出数组中第几大的数,第几大的参数由行号提供,也就是这个公式里唯一的相对地址A1
100-right语句,恢复找出来的数的行号
index语句,找出A列中这行的文字
onerror语句,如果找不出来就显示空,也就是最下面找完了再拖就不会有结果
更多追问追答
追问
很感谢你解决了一个问题。我还想问一下,当上面的比较数20如果是万以上的数字的话,并且查找的数字范围是500多行,请问上面公式中那个1000该换成什么数字比较好以及100-right中的100要换成什么数字?麻烦你空闲的时候回复下好吗?
追答
跟20没有关系,只跟行数有关系
只要100那个位置的数超过行数就行了,如果是500多行的话,1000换成10000,100换成1000,都乘10就够了,right那个2位换成对应1000的3位就行了。
展开全部
咱们学的可能不是一个知识系统,我学的是10比20小,所以B列第一个小于等于C1是10,所以没法解你这个题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询