Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Google sheets 通过动态值查找Google电子表格_Google Sheets - Fatal编程技术网

Google sheets 通过动态值查找Google电子表格

Google sheets 通过动态值查找Google电子表格,google-sheets,Google Sheets,我试图弄清楚是否可以使用基于动态值的查找函数。例如: =查找(“A”,C$2:C$1000,B$2:B$1000) 上面将在C列中查找字母A,然后从相应的B列行中写入值。我现在要做的是读D栏中的字母A,如下所示: =查找(D2,Sheet2!C$2:C$1000,Sheet2!B$2:B$1000) 然而,上面给了我一个错误。有没有办法实现上述目标 上面不断返回一个错误,告诉我value not found,我不确定我做错了什么 编辑 好吧,我一直在玩这个,我开始有一些非常奇怪的结果。让我们看下

我试图弄清楚是否可以使用基于动态值的查找函数。例如:

=查找(“A”,C$2:C$1000,B$2:B$1000)

上面将在C列中查找字母A,然后从相应的B列行中写入值。我现在要做的是读D栏中的字母A,如下所示:

=查找(D2,Sheet2!C$2:C$1000,Sheet2!B$2:B$1000)

然而,上面给了我一个错误。有没有办法实现上述目标

上面不断返回一个错误,告诉我value not found,我不确定我做错了什么

编辑

好吧,我一直在玩这个,我开始有一些非常奇怪的结果。让我们看下表:

那么我的第二张是:

如果你看第二张纸,鲍勃出现了很多次,我不明白为什么。

不适用的原因
lookup
如果像这里的情况一样查找空范围,则生成
#N/A
选秀权'!答:A为空,因此查找无法找到要查找的值

多次出现的原因 文件指出:

仅当数据在搜索范围内或 搜索结果数组已排序。使用VLOOKUP、HLOOKUP或其他相关的 如果数据未排序,则执行函数

如果未找到搜索键,则查找中使用的项将是 在提供的范围内立即更小的值。例如 如果数据集包含数字1、3、5且搜索键为2,则 1将用于查找

现在,您正在查找文本,但同样的情况也适用,它需要按字母顺序排列。
这是因为
lookup
正在执行一个名为
由于您的数据是无序的,并且(假设您的A列中填充了键),因此可能会发生以下情况,从而导致奇怪的结果:

  • Lookup查看中间的条目并检查该值是在前面还是后面 在按字母顺序排序的列表中查找值之后
  • 如果它来了 在它检查输入之前,在开始和结束之间的中间 在列表的中间
  • 如果您的条目恰好位于下半部分,则查找不会找到此条目
  • 此值可能不存在,因此它会选择它能找到的第一个值,该值将在该值之前出现(假设数据已排序),或者查找发现值n按字母顺序在查找值之后,n+1按字母顺序在查找值之前,并返回值n+1
  • 只有当您知道查找值将在那里并且它们将被排序时,才应该使用查找。否则,您可能需要查看
    VLookup
    索引匹配

    解决方案 如果图纸草稿选项中的A列实际包含您正在查找的字母,则可以使用简单的VLookup:

    =VLOOKUP(F2, `Draft Options`!$A$2:$B$1000, 2, FALSE)
    

    此处
    FALSE
    规定VLookup应使用二进制搜索算法,而是线性遍历列表(即逐个)速度较慢,但会检索到第一个匹配值,或者在不存在匹配值时抛出错误,而不是返回奇怪的值。

    您得到的错误是什么,您能提供一个数据示例吗?@RobinGertenbach我已经更新了我的问题,您能看一下吗?是的,查找的第一个参数可以是参考。says as ALOW:“search_key-要在行或列中搜索的值。例如,42,“Cats”或I24另外,这不是一个编程问题,所以我建议你问一下感谢罗宾!你能给我一个例子,说明我如何能够完成我的查找问题吗?很好,我测试了它,它运行正常。我还有一个问题要问你,不过我已经把你的答案标记为正确,因为你刚刚加快了我的比赛速度t起草大概50%!谢谢!但是,回到那个问题,我如何防止它说错误,我能用if语句以某种方式完成这一点吗?你可以将公式包装成这样的
    IFERROR
    语句
    =IFERROR(,“在此ID下找不到玩家”)
    我使用了IF和ISERROR组合,
    =IF(ISERROR(VLOOKUP(CONCATENATE(F2,“1”),“草稿选项”!$A$2:$B$1000,2,FALSE)),“”,VLOOKUP(CONCATENATE(F2,“1”),“草稿选项”!$A$2:$B$1000,2,FALSE))