每隔一列上的VLOOKUP()

我有一个时间系列,在图表dataset有不匹配的date:

数据集

我想使用VLOOKUP在每个date返回价格,或者如果价格不可用,按以下方式错误:

产量

我想对第一行使用下面的公式:

 =IFERROR(VLOOKUP($A1,dataset!A:B,2,FALSE), "ERROR") =IFERROR(VLOOKUP($A1,dataset!C:D,2,FALSE), "ERROR") =IFERROR(VLOOKUP($A1,dataset!E:F,2,FALSE), "ERROR") 

我只在上面的例子中显示3列,但在实际的表中,我有超过1000列。 将第一个公式拖到右边实际上给出:

 =IFERROR(VLOOKUP($A1,dataset!A:B,2,FALSE), "ERROR") =IFERROR(VLOOKUP($A1,dataset!B:C,2,FALSE), "ERROR") =IFERROR(VLOOKUP($A1,dataset!C:D,2,FALSE), "ERROR") 

这不是我想要的,我想要的列是A:BC:DD:EF:G等。有没有办法将这个公式扩展到1000列?

我可能会过度思考,但这应该工作:

 =IFERROR(VLOOKUP($A1,INDEX(datasheet!$A:$AAZ,0,1+(COLUMN(A:A)-1)*2):INDEX(datasheet!A:AAZ,0,2+(COLUMN(A:A)-1)*2),2,FALSE),"ERROR") 

把它放在数据输出的左上angular,并上下拖动。 它应该为每一个被拖动的每一列增加两列。

您可能需要将$AAZ更改为数据集的最后一列。


这表明该公式的基本工作原理:

我用公式:

 =VLOOKUP(1,INDEX($A:$AAZ,0,1+(COLUMN(A:A)-1)*2):INDEX(A:AAZ,0,2+(COLUMN(A:A)-1)*2),2,FALSE) 

在I2中拖动它。

在这里输入图像说明