Excel:使用一个查找值返回多个项目,但位于不同的工作表上

我的公式的工作原理,但只有在同一页面,并在同一行

式:

=(INDEX($C$1:$D$4,SMALL(IF($C$1:$C$4=$F$2,ROW($C$1:$C$4)),COLUMNS(D1:D4)),2)) 

注:列G有公式,它在C和D列中查找F2中的值(1.2),并提取列D中的相应数据。因此,在这种情况下,它将提取数据专栏G.

问题:如果我想要从不同的工作表或甚至不同的工作簿出现,我该怎么办? 我需要做到这一点完全相同的事情,提取列c和d(这是不同的工作簿)中的数据到我的工作簿。

每次尝试时,我都会得到一个值错误。

奖金:我也试图得到最接近今天的date,我有这个公式:

 =IF(COUNT(G2:G5)>0,INDEX(G2:G5,MATCH(MIN(ABS(G2:G5-$D10)),ABS(G2:G5-$D10),0)),"") 

D10恰好等于=TODAY() ,整个公式通过按Ctrl + Shift + Enter来工作

如果你还可以在公式中包括这个,那么它只是吐出G2中最接近的date,而不是吐出所有的date。 但这不是必要的,只是帮助很多。

对于你的“最接近今天的问题”,我试图分散date的差异或date的比较,就像你的例子。 这只是没有工作。 我通过添加另一列来解决问题。 我不知道这是否对你有效,但这里是我的。 假设H是可用的,或者你可以插入一个新的列H.使用这个拖动每行 – 在你的例子2 thorugh 5。

 =ABS(D$10-G2) 

然后在H10或任何你认为合适的地方添加

 =D10-(MIN(H2:H5)) 

这是一个很好的例子

  5/12/2014 =ABS(D$10-G2) 5/13/2015 =ABS(D$10-G3) 5/14/2014 =ABS(D$10-G4) 5/15/2014 =ABS(D$10-G5) 6/6/2016 =D10-(MIN(H2:H5))