EXCEL-如何实现vlookup数组对应效果(一对多)-Xy平面坐标系
在牛闪闪的日子吧
全部回复
仅看楼主
level 5
公式中并未用到vlookup()函数!仅仅是实现该效果而已。
原始数据如下,要求根据给定日期求解对应时间:
从上图可以看出,当我们利用vlookup(最后一个参数为1)时,E3和E4会取得相同值,而B3和B4显然是不同值,那么有没有什么方法可以得到下图中F列的效果呢:
其实之前在贴吧解答过类似问题,该贴子的链接:【https://tieba.baidu.com/p/4323533673】依样画葫芦,我们可以得到如下公式:
输入F2单元格的公式以后,利用下拉手柄填充即可。
我在另一个贴子中说过,公式中的大括号不是直接通过键盘输入的,而是在输入大括号内的公式后,将输入光标放在公式编辑栏,同时按下shift+ctrl+enter生成的(数组公式)。
利用iserror()函数是为了下拉公式的时候不会显示#NUM!错误,要求不高的话,可以不使用该函数。
row()为返回行号的函数,整个if()函数的意思是:若日期相同,则返回行号,否则返回一个较大的数:
small()是排序函数(从小到大),6666的随意填写的一个数,即返回一个较大的数值,不参与到small()函数的排序当中(行号排序),跟上次不一样的是,这次的公式里用到了countif()函数,结合绝对引用的小技巧,计算各个日期的出现次序参与排序:
index()函数是返回表或区域中的值或对值的引用,index()有两种形式:数组形式和引用形式。这里的index()用到的是数组形式,返回数值(不是数组)。
END
2016年02月23日 09点02分 1
level 3
这个学了好久,一直没记住这个公式, 今天再次记忆一下。
2016年12月21日 12点12分 2
1