If statement VLOOKUP在一个数组中搜索另一本谷歌图书

If statement VLOOKUP在一个数组中搜索另一本谷歌图书,if-statement,google-sheets,array-formulas,gs-vlookup,If Statement,Google Sheets,Array Formulas,Gs Vlookup,我有一个文档“a”,其中“搜索”选项卡中有一个公式,用于根据用户在与公式相同的“搜索”选项卡中编写的单元格引用,从谷歌工作表中的另一个“条目”选项卡中搜索值 如果我在另一个Google sheets文档/书籍“B”中复制了“SEARCH”选项卡,那么该如何修改公式,使其仍然引用“A” 原始公式基于: 此处的工作示例(这将是文档“B”,它尝试引用另一个文档“a”中的搜索):(您可以在单元格B8中看到我尝试实现的带有导入的公式) 这就是文件“A”。最初,它是一个如何在另一个选项卡中基于不同单元格引

我有一个文档“a”,其中“搜索”选项卡中有一个公式,用于根据用户在与公式相同的“搜索”选项卡中编写的单元格引用,从谷歌工作表中的另一个“条目”选项卡中搜索值

如果我在另一个Google sheets文档/书籍“B”中复制了“SEARCH”选项卡,那么该如何修改公式,使其仍然引用“A”

原始公式基于:

此处的工作示例(这将是文档“B”,它尝试引用另一个文档“a”中的搜索):(您可以在单元格B8中看到我尝试实现的带有
导入的公式)

这就是文件“A”。最初,它是一个如何在另一个选项卡中基于不同单元格引用搜索值的示例: [

我还检查了:

  • 文档编辑器帮助:导入
我在《A》一书中的原始公式是:

    =IFERROR(ARRAYFORMULA(
    IF(B3<>"",SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
        VLOOKUP(B3, {data!AN:AN, data!A:BN},  {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ),
    IF(C3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
        VLOOKUP(C3, {data!AK:AK, data!A:BN}, {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
    IF(E3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
        VLOOKUP(E3, {data!BJ:BJ, data!A:BN}, {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
    IF(D3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
        VLOOKUP(D3, {data!R:R, data!A:BN}, {41,38,19,11,55,56}, 0)), 
    CHAR(10))), "♦", ), ))))), "no match found")  

它标记为错误,但即使我将其更改为
…VLOOKUP(B3{(IMPORTRANGE(“URL”,“data!R:R”),(IMPORTRANGE(“URL”,“data!A:BN”))},
进入()两个引用,它仍然标记为错误。

法尔塞错误是由于额外的括号打破了公式而导致的。FX应该是:

=IFERROR(ARRAYFORMULA(
 IF(B3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(B3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!AN:AN"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ),
 IF(C3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(C3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!AK:AK"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
 IF(E3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(E3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!BJ:BJ"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
 IF(D3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(D3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!R:R"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), ))))), "no match found")
=IFERROR(数组公式(
如果(B3),则替换(转置)(拆分)(TEXTJOIN)(字符(10)和♦"&字符(10)和“♦", 1, 
VLOOKUP(B3,{IMPORTRANGE(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!AN:AN”),
导入(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!A:BN”),
{41,38,19,11,55,56},0),CHAR(10)),”♦", ),
如果(C3),则替换(转置)(拆分)(TEXTJOIN)(字符(10)和♦“&字符(10)和”♦", 1, 
VLOOKUP(C3,{IMPORTRANGE(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!AK:AK”),
导入(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!A:BN”),
{41,38,19,11,55,56},0),CHAR(10)),”♦", ), 
如果(E3),则替换(转置)(拆分)(TEXTJOIN)(字符(10)和♦“&字符(10)和”♦", 1, 
VLOOKUP(E3,{IMPORTRANGE(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!BJ:BJ”),
导入(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!A:BN”),
{41,38,19,11,55,56},0),CHAR(10)),”♦", ), 
如果(D3),则替换(转置)(拆分)(TEXTJOIN)(字符(10)和♦“&字符(10)和”♦", 1, 
VLOOKUP(D3,{IMPORTRANGE(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!R:R”),
导入(“1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8”,“数据!A:BN”),
{41,38,19,11,55,56},0),CHAR(10)),”♦“,),”“”)),“未找到匹配项”)

在运行arrayformula之前,您是否允许从importrange在工作表之间进行访问?是的。access设置为“有链接的任何人”,只是为了确保我在新选项卡中添加了一个范围,只是为了检查它是否确实导入了数据。我想问题出在公式中的某个地方,我在哪里/如何添加导入范围。下一件事是在我看来,你使用的是一个有点不寻常的URL尝试一下:我使用的URL是google在共享链接时提供给你的。我仍然得到错误。VG:
=ARRAYFORMULA(如果(B3),替换(转置)(拆分(TEXTJOIN)(CHAR(10))和♦“&字符(10)和”♦,1,VLOOKUP(B3,{(IMPORTRANGE()https://docs.google.com/spreadsheets/d/ALPHANUMTEXT/edit#gid=135622###“,”pivot_r!AN:AN“,”导入(“https://docs.google.com/spreadsheets/d/ALPHANUMTEXT/edit#gid=1356222###“,“pivot_r!A:BN”)},{24,3,21,23,14,5,6,9,10,67,53,54,55,56,57,58,59,30,61,27,62,63,64,65,41,38,36,37,31,32,33,34,45},0),半焦(10)),”♦", ),
Ready。在问题中添加了一个示例链接,并编辑了与之匹配的代码。我添加了该问题的工作示例。此外,对于可能需要解释的任何人来说,也是和。IMPORTRANGE
不需要google为共享链接提供的完整URL;/d/和/edit#gid.Al之间的部分因此,在导入之前有一个额外的
),不应该在那里。
=IFERROR(ARRAYFORMULA(
 IF(B3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(B3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!AN:AN"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ),
 IF(C3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(C3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!AK:AK"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
 IF(E3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(E3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!BJ:BJ"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), 
 IF(D3<>"", SUBSTITUTE(TRANSPOSE(SPLIT(TEXTJOIN(CHAR(10)&"♦"&CHAR(10)&"♦", 1, 
            VLOOKUP(D3, {IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!R:R"),
                         IMPORTRANGE("1qLcJdCn4EdV7lPOAfZ_CMak1LBkve45FL5SXyqBV3L8","data!A:BN")},
                        {41,38,19,11,55,56}, 0)), CHAR(10))), "♦", ), ))))), "no match found")