level 5
小小小小孩99
楼主
公式中并未用到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
原始数据如下,要求根据给定日期求解对应时间:

从上图可以看出,当我们利用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