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
Filter 具有多个(复合)键的DGET返回#NUM!错误_Filter_Google Sheets_Google Sheets Formula_Google Sheets Query_Gs Vlookup - Fatal编程技术网

Filter 具有多个(复合)键的DGET返回#NUM!错误

Filter 具有多个(复合)键的DGET返回#NUM!错误,filter,google-sheets,google-sheets-formula,google-sheets-query,gs-vlookup,Filter,Google Sheets,Google Sheets Formula,Google Sheets Query,Gs Vlookup,具有多个标准键的DGET函数的逻辑是什么? 我举了两个小例子进行调查: 案例1:我们仅通过日期类型键获取值-它工作正常 案例2:相同的数据,但我们添加了一个字符串类型的键。这里我们有一个错误 我同意,B列(“Маа”字段)中有2个“М00000 1735”字符串。但在本例中,还有两个键可以获得唯一的行。怎么了?我是否可以对复合键使用DGET函数?如果A解释了他们试图实现的目标(以及他们遇到的问题,以及在哪里,文本格式的数据样本等),这会有所帮助 请尝试: =DGET(A$1:C;"Рабоч

具有多个标准键的DGET函数的逻辑是什么? 我举了两个小例子进行调查:

案例1:我们仅通过日期类型键获取值-它工作正常

案例2:相同的数据,但我们添加了一个字符串类型的键。这里我们有一个错误

我同意,B列(“Маа”字段)中有2个“М00000 1735”字符串。但在本例中,还有两个键可以获得唯一的行。怎么了?我是否可以对复合键使用DGET函数

如果A解释了他们试图实现的目标(以及他们遇到的问题,以及在哪里,文本格式的数据样本等),这会有所帮助

请尝试:

=DGET(A$1:C;"Рабочее место";{{"Инв";"M00001735"}\{"Дата";DATE(2019;2;15)}})

您的“默认”分隔符是
因此,在您的情况下,这不用于水平堆叠阵列。

该表不应包含任何重复项。如果存在重复项,则应使用
UNIQUE
SORT
功能将其删除,该功能可在
DGET
中使用。因为如果存在多个匹配项,
DGET
将返回一个错误。
DGET
公式返回
#值错误。因此,您应该使用
IFERROR
将Google Sheets
DGET
公式包装起来。“条件/查找”列中不允许存在重复项。这会导致
#NUMDGET中的错误


如果运行:
={{1;2}\{3;4}

或者运行这个星座:
={{1\3};{2\4}

您将得到相同的结果,这意味着这两种方法中的任何一种都有效:

=DGET(A:C; "Рабочее место"; {{"Инв" \ "Дата"}; {"М000001735" \ DATE(2019; 2; 15)}})


注意:确保在电子表格设置中使用俄语区域设置

_____________________________________________________________
DGET的替代方案

=QUERY(A:C; "select C where A = date '2019-2-15' and B = 'М000001735'"; 0)



什么是“OP”?我试过你的公式,得到了#值!错误。然后我使用了
=DGET(A$1:C;“аааааааааааааааааааааааа{!再一次。我用分号替换了反斜杠-结果相同。但当我将复合条件放入4个单元格范围并将范围引用插入公式时,它就起作用了!那么,没有范围引用的正确语法是什么呢?感谢您提供了非常好的选择(尤其是
FILTER
case)。但我的问题是关于DGET语法和正确理解。我仍然不知道如何直接解决我的初始任务。没问题-。此外,我还注意到,DGET对标准顺序非常敏感-请参阅!G1细胞的工作公式。但如果我将数据添加到A:C中,使其具有重复的键(请参见“Long”表),则公式仍然有效。非常不公平的行为!抱歉,但建议
=DGET(A1:C;“Паааааааааааааааааааа”;“M00001735”}日期(2019;2!太好了,非常感谢您的演示!唯一需要注意的是关于E4单元:此变体不起作用。。。将日期(2019;2;15)
替换为日期(2018;10;19)
后。我们非常接近于理解原因。让我们来看看。
=DGET(A:C; "Рабочее место"; {{"Инв"; "М000001735"} \ {"Дата"; DATE(2019; 2; 15)}})
=QUERY(A:C; "select C where A = date '2019-2-15' and B = 'М000001735'"; 0)
=FILTER(C:C; A:A=DATE(2019; 2; 15); B:B="М000001735")
=VLOOKUP(VLOOKUP(DATE(2019; 2; 15); A:B; 2; 0); B:C; 2; 0)