Google 工作表查询未提取 select 数据

Google Sheets Query not pulling in select data

我确定这是一个我只是想念的简单问题,但我有 this Sheet

它在“Helper”sheet 上有一个查询功能,它应该为在“Job Entry”sheet 上选择的工作提取相应的行。但是,对于第二个测试作业(“TEST002”),它只提取前 14 个任务名称,但都是 21 小时。在我添加 TEST003 之前,它只拉入 8 个任务名称和 21 个小时时段,但我向 TEST003 添加了 14 个任务,现在有 14 个名称进来了。这让我很困惑,因为 TEST001 和 TEST003 都拉对了。这是我用来从数据库选项卡中提取适当行的查询:

=query(Database!1:1000,"select * where A = 'Job' and D = '"&'Job Entry'!K5&"'")

我分享了这个精简示例 sheet 只是为了方便查看,因为我不确定如何表达这个问题。但只是为了更加清楚,一个选项卡(“数据库”)中的每个作业行都有一个位置、一个客户名称、作业、引擎、负责人和传输的 4 个数字,最多 21 个任务名称和最多 21 个分配的相应任务小时。对于包含所有 21 个任务的作业,它会提取除任务名称 15-20 之外的所有内容。值得注意的是,目前数据库中有三个作业,这个作业有 21 个任务,TEST003 有 14 个任务,TEST001 有 8 个任务(不重要)。基本上,它只会引入与第二多任务的作业一样多的任务名称。

我希望这一切都足够清楚,以便有人提供帮助。 谢谢!

当您在同一列中有字符串和数字时,请小心查询!您需要使用 to_text 进行转换。试试这个

=query(arrayformula(to_text(Database!1:1000)),"select * where Col1 = 'Job' and Col4 = '"&'Job Entry'!K5&"'")

以下是其他可能的解决方案:

=query( Database!1:1000, "where A = 'Job' and D = '"&'Job Entry'!K5&"'")
=FILTER( Database!1:1000, Database!A1:A1000 = "Job", Database!D1:D1000 = 'Job Entry'!K5)