dynamic文件名与Excel INDEX()函数
我正在Excel中做一些数据处理工作。 我需要做的是从一个单元格(如D3)从顺序编号的工作簿,如1.xlsx,2.xlsx,3.xlsx …等取值。
我不能使用INDIRECT()函数,因为它需要打开所有的目标文件(这在我的情况下是不可能的)。 所以,我用下面的值使用INDEX()函数:
INDEX([ 1.xlsx ] Sheet1!D:D,1,1)
现在,我想要公式的大胆的部分是根据左列的数字为dynamic的,如下图所示: 有人请build议解决手头的问题,因为我厌倦了googling 🙂
提前致谢。
也许有人会certificate我错了,但是我不相信有可能在没有资源的情况下产生这样的dynamic引用,除非你对一个像(静态)这样的longhand方法感到满意:
=INDEX(CHOOSE(ROWS($1:1),[1.xlsx]Sheet1!D:D,[2.xlsx]Sheet1!D:D,[3.xlsx]Sheet1!D:D),1,1)
尽pipe这要求在公式中明确input每个工作簿参考。 因此,这也意味着不能通过引用工作表中的任何单元格来创build这些内容,正如您所希望的那样。
或者,如果VBA是一个选项:
Sub Indexing() Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Range("B" & i).Formula = "=INDEX([" & Range("A" & i).Value & ".xlsx]Sheet1!D:D,1,1)" Next i End Sub
问候