Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Vlookup中的嵌套Concat函数不工作,似乎找不到语法错误_Excel_Vba_Function_Concatenation_Vlookup - Fatal编程技术网

Excel Vlookup中的嵌套Concat函数不工作,似乎找不到语法错误

Excel Vlookup中的嵌套Concat函数不工作,似乎找不到语法错误,excel,vba,function,concatenation,vlookup,Excel,Vba,Function,Concatenation,Vlookup,嗨 我试图连接某个文件路径,以便更改子路径和部分文件名 这就是我试图在D3单元中使用的函数 =IFERROR(VLOOKUP($A3,CONCATENATE("'G:\Financial\Facility Work Papers and Financials\1. Operating Entities\Arbors Major Hospital\2. Financials\2018\",BB1,"\[Arbors"," ",BB2," ","2018.xls]Trial Balan

我试图连接某个文件路径,以便更改子路径和部分文件名

这就是我试图在D3单元中使用的函数

 =IFERROR(VLOOKUP($A3,CONCATENATE("'G:\Financial\Facility Work Papers and 
 Financials\1. Operating Entities\Arbors Major Hospital\2. 
 Financials\2018\",BB1,"\[Arbors"," ",BB2," ","2018.xls]Trial 
 Balance'")!$A$30:$H$100,8,FALSE),0)
这是我的计算机上的实际文件路径:G:\Financial\Facility Work Papers and Financials\1。经营实体\Arbors大医院\2。2018年4月财务报告。2018年4月\Arbors.xls

假设我有BB1和BB2,4中的文本。分别是四月和四月


您需要像这样在连接周围放置间接连接:

=IFERROR(VLOOKUP($A3,INDIRECT(CONCATENATE("'G:\Financial\Facility Work Papers and Financials\1. Operating Entities\Arbors Major Hospital\2. Financials\2018\",BB1,"\[Arbors"," ",BB2," ","2018.xls]Trial Balance'","!$A$30:$H$100")),8,FALSE),0)
这将把您的连接从一个字符串转换为一个范围,以便VLOOKUP具有所需的参数类型

编辑-该位缺少逗号和括号$A$30:$H$100

一旦它接受了公式,您可能会发现它实际上没有正确地进行查找,如果是这样,我们需要将公式分解以确保我们有正确的文件位置,然后我们可以从间接中获得正确的值,然后一旦这些工作完成,我们可以查看VLOOKUP本身,因为它可能需要被重写为INDEXMATCH。。。相反


EDIT-INDIRECT需要打开它拉入的文件,否则会出现REF错误。

这次让我们尝试一个两阶段的过程。您应该能够手动将VLOOKUP链接到您的一个文档,因此不要尝试做任何聪明的事情,只需使用基本的VLOOKUP,您可以使用鼠标选择这些文档中第一个文档的范围,因此您需要打开第一个文档才能做到这一点

完成后,请关闭外部文档并检查摘要是否仍能正确读取该数字,或者关闭并重新打开摘要以检查它是否仍能读取该数字

接下来,我们将看一看它编写的公式,然后我们将使用单独的表格为所有其他文档构建所有其他公式,然后将它们粘贴到摘要中

第一步是让其中一个工作,然后我们将自动为其他公式创建公式,而不是手动重复

这样做的原因是,指向外部文档的简单链接会自动拉入该文档,但间接公式不会,它只会在文档恰好打开时拉入该文档

你可以试一试,然后把第一行的公式贴在这里吗

编辑如下:

优素福说:

=VLOOKUP($A3,'G:\Financial\Facility Work Papers and Financials\1. Operating Entities\Arbors\2. Financials\2018\4. Apr[Arbors April 2018.xls]Trial Balance'!$A$34:$H$84,8,0)
好的,现在我们想使用下面的公式,它是基于你上面的公式,把它放在表格右边的某个单元格中,不管在哪里,反正我们很快就会删除它

="=VLOOKUP($A"&ROW()&",'G:\Financial\Facility Work Papers and Financials\1. Operating Entities\Arbors\2. Financials\2018\"&BB1&"[Arbors "&BB2&" 2018.xls]Trial Balance'!$A$34:$H$84,8,0)"
请注意靠近开头的那一行,它会将我们的引用移动到A3单元格

现在我们可以把这个公式复制下来,它会把我们需要复制到主摘要的公式写出来。要做到这一点,我发现打开记事本最简单——所有windows PC都有它,只需查看“开始”菜单,然后将这些单元格复制到记事本中,然后再将它们复制回Excel。因为记事本将剪贴板压缩为文本,所以它可以作为公式粘贴进来,这正是我们想要的

现在,每个单元格都有一个指向您要从中提取的文档的直接链接,这样它就可以在不打开文档的情况下获取这些文档


我能看到的唯一问题是,如果BB1和BB2实际上意味着$BB$1和$BB$2,那么您现在已经失去了动态换月器。希望他们不是那样充满活力,我们已经完成了。我不能从你的截图上判断,所以我相信你是对的。否则我们可以下一步尝试vba。

嘿,Daniel,它仍然会给我错误,我将错误添加到主要问题中。我认为方括号应该环绕整个路径,因此下一个要尝试的公式是:=iferrovlookup$A3,间接连接'[G:\Financial\Facility Work Paper and Financials\1.经营实体\Arbors大型医院\2.Financials\2018\,BB1\Arbors,BB22018.xls]试算平衡',!$A$30:$H$100,8,FALSE,0Yup它没有给我错误,但它没有给我一个布尔值作为FALSE如果我们只使用concat函数,路径就到了正确的路径,我想我把它放在主要问题中。然后在没有Iferor和VLOOKUP的情况下尝试它,所以只有这一部分,它会把表上单元格A1中的任何内容拉回来。如果可行,那么公式的这一部分就可以:=间接连接“[G:\Financial\Facility Work Papers and Financials\1.经营实体\Arbors大医院\2.Financials\2018\,BB1,\Arbors,BB22018.xls]试算表“,!$A$1我收到一个REF错误,不是因为我在连接函数中将范围作为字符串包含在末尾吗?好的,这是目标文档关闭后vlookup的函数..=vlookup$A3,'G:\Financial\Facility Work Papers and Financials\1.Operating Entities\Arbors\2.Financials\2018\4.Apr[Arbors April 2018.xls]试算表“!$A$34:$H$84,8,0