Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Indexing Excel-无法在数组中找到文本并从下面的单元格返回值_Indexing_Excel Formula_Match_Vlookup - Fatal编程技术网

Indexing Excel-无法在数组中找到文本并从下面的单元格返回值

Indexing Excel-无法在数组中找到文本并从下面的单元格返回值,indexing,excel-formula,match,vlookup,Indexing,Excel Formula,Match,Vlookup,您好,这里的所有Excel大师:-) 我试图从下面的单元格中查找文本并返回值,但Match始终返回#N/a 我在F2牢房的单子“Skript01”上 我想把表“Prehled testu”单元格L6中的值放在那里。 我需要每次动态地找到它,即使行或列发生变化,所以我不能使用任何精确的行或列编号 在单元格F2中的“Skript01”中有一个公式,它找到一个工作表的名称,然后在工作表“Prehled testu”中找到它,然后从第12列返回值。如果有错误,则返回0 =IF(ISERR(INDEX('

您好,这里的所有Excel大师:-)

我试图从下面的单元格中查找文本并返回值,但Match始终返回
#N/a

我在F2牢房的单子“Skript01”上 我想把表“Prehled testu”单元格L6中的值放在那里。 我需要每次动态地找到它,即使行或列发生变化,所以我不能使用任何精确的行或列编号

在单元格F2中的“Skript01”中有一个公式,它找到一个工作表的名称,然后在工作表“Prehled testu”中找到它,然后从第12列返回值。如果有错误,则返回0

=IF(ISERR(INDEX('Prehled testu'!A:N;MATCH(MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255);'Prehled testu'!A:A;0);12));0;INDEX('Prehled testu'!A:N;MATCH(MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255);'Prehled testu'!A:A;0);12))
请您帮助我动态确定“%otestováno”(现在是第12列)的列数,并将其与我的公式结合起来?然后我将它复制到其他工作表(Skript02,03…),它必须工作-找到所选工作表附近的正确值

链接到文件:


谢谢。

跟进Chronocidal的回答:

=IFERROR(INDEX('Prehled testu'!A:N;MATCH(MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255);'Prehled testu'!A:A;0);MATCH("% otestováno";INDIRECT((CONCATENATE("'Prehled testu'!";(MATCH(C2;'Prehled testu'!A:A;0)-1);":";(MATCH(C2;'Prehled testu'!A:A;0)-1))));0));0)
这比我想象的要困难得多,但它应该像你希望的那样工作。该公式的唯一要求是脚本表中表的“Název”应与“Prehled testu”表中表的标题匹配

  • 有一个 在
    ISERR
    ISERROR
    之间-区别在于
    ISERR(#NA)
    =
    FALSE
    ,但
    ISERROR(#NA)
    =
    TRUE
  • 您可以使用 :
    iError(A,B)
    与写入
    IF(iError(A,B,A)
  • 给予:

    =IFERROR(INDEX('Prehled testu'!A:N;MATCH(MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255);'Prehled testu'!A:A;0);12);0)
    

    我不确定有多少人会冒险从他们从未见过的网站下载zip文件来帮助调试您的代码…:​/您能提供了解问题所需的最少数据的屏幕截图吗?服务器是我自己的,它是100%安全的。但我明白你的意思。用截图说起来并不容易——这就是我上传工作表的原因。好的,谢谢。但这不是我试图解决的问题。它确实意味着你应该在错误上得到
    0
    ,而不是
    \NA
    。这将尝试将当前工作表名称与列匹配。(顺便提一下,
    A1
    引用在
    单元格中不需要。
    公式:
    单元格(“文件名”)
    将正常工作)(我说“正常工作”-它将使用ActiveCell,因此仅在选中工作表时有效)是否有可能避免使用“A5:Z5”并搜索单元格?类似于“A:Z”,但它不起作用:-(如果你绝对肯定第一个表总是从第5行开始,我会使用“5:5”。Atm我正在试图找到一种方法,即使表有不同的列数,并且不从第5行开始,也可以这样做。“即使表格有不同的列数,并且不从第5行开始,这种方法也能起作用”-是的,这就是我需要的,也是我一整天都在寻找的。我将在其他具有相同原理但不同表格结构的工作簿中使用此公式。好的,我想我差不多完成了,我还有一个问题。如果你有“Script01”“在第一页的表格中,Script01是否会出现在“Script01”页上的任何位置?测试正常-非常感谢您的帮助!现在我必须强制用户始终遵守要求(=不可能的任务):-)