在多个date范围中searchdate并返回相应的值

在表1中,按时间顺序列出A列中的date列表。 在列B中有与此列表相对应的值。表2中还有另一个date列表,我想将表1中的值添加到这些date中。

Sheet 1. **Column A Column B DATE Amount** 1. 10/01/2015 25,60,000 2. 10/02/2015 26,80,000 3. 01/03/2015 21,55,000 4. 30/03/2015 24,60,500 5. 30/04/2015 28,20,000 6. 30/06/2015 19,00,000 Sheet 2. Column A Column B 1. 21/02/2015 21,55,000 2. 15/01/2015 3. 20/05/2015 4. 25/04/2015 

例如:我需要在表1和A列中查找21/02/2015,并返回对应于下一个可用date的值。 所以在2015年2月21日之前,我需要对应于2015年3月1日的下一个可用date的价值,价值是21,55,000。 如果15/01/2015我需要价值10/02/2015,即26,80,000

我可以使用什么公式?

你可以使用VLOOKUP,但是它有一些问题。 所以最好使用INDEX和MATCH组合。 在你的情况下试试这个

 =INDEX('Sheet 1'!$B:$B,MATCH(A1,'Sheet 1'!$A:$A,-1)) 

对不起,我以前的答案只适用于降序。 试试这个

 =INDEX('Sheet 1'!$B:$B,MATCH(TRUE,('Sheet 1'!$A:$A-A1)=MIN(IF('Sheet 1'!$A:$A-A1>=0,'Sheet 1'!$A:$A-A1)),0)) 

说明:我希望在Office支持中很好地解释了INDEX和MATCH 。

关于条件:

 ('Sheet 1'!$A:$A-A1)=MIN(IF('Sheet 1'!$A:$A-A1>=0,'Sheet 1'!$A:$A-A1)) 

这是什么意思?

 'Sheet 1'!$A:$A-A1 

会导致单元格A1的值与表单1中的A列中的单元格之间的差异。

 MIN(IF('Sheet 1'!$A:$A-A1>=0,'Sheet 1'!$A:$A-A1)) 

说如果差别是非负的( 'Sheet 1'!$A:$A-A1>=0 ),find这些数字的最小值(MIN函数)。

如果这些数字相等(MATCH函数),则select列B( INDEX('Sheet 1'!$B:$B,...) )中相应的数字。


道歉:在我以前的答案中,我换了你的例子的列。 我希望现在是正确的。

您可以使用vlookup True而不是广泛使用的forms与False

正如ExcelEfendisi所说的,你可以使用vlookup来启用范围查找。 在下一个date获取价值的一个简单方法是将所有金额降低一行,但为了避免重复索引值可能会更好 – 就像这样

 1 10/01/15 25,60,000 1 2 10/02/15 26,80,000 2 3 01/03/15 21,55,000 3 4 30/03/15 24,60,500 4 5 30/04/15 28,20,000 5 6 30/06/15 19,00,000 6 

然后,您可以使用两个vlookups,第一个获取行date之前的date感兴趣的索引,第二个提取余额值为随后的date – 不是很优雅,但它会工作

试试这个公式(inputSheet2单元格B2然后复制到最后一个logging)

 =INDEX(Sheet1!$B:$B,1+MATCH($A2,Sheet1!$A:$A,1),1) 

当数据按升序sorting时,使用match type 1 (less than) MATCH获得高于下一个项目的row ,然后加1,结果为下一行高 ,使用此row从列中获取相应的loggingB与公式INDEX