【问题标题】:Find and combine results from two columns based on same search criteria根据相同的搜索条件从两列中查找并合并结果
【发布时间】:2020-01-20 01:54:10
【问题描述】:

我正在建立一个员工数据库,其中一些员工在同一部门的两个团队中扮演不同的角色。我正在使用仪表板选项卡上的QUERY 功能来显示各个团队的详细信息,通过经理或团队进行搜索。我遇到的问题是在尝试将拆分角色纳入搜索时。

例如,在一个团队中兼职并在另一个团队中兼职的员工将在主数据库中的两个经理和两个团队下列出。见下图:

当您搜索经理或团队时,我希望它提出如下:

员工 - 工作时间 - 角色

人 1 - - - - 37 - - A

第 2 个人 - - - - 37 - - A

第 4 人 - - - - 10 - - B

所以会显示为某个经理工作的所有人员,无论是角色 1 还是角色 2。

我尝试了以下方法来合并两列结果:

={query(StaffData2,"select B,AT where K = '"&Dashboard!O8 &"' and AT is not null",1);query(StaffData2,"select B,AU where AO = '"&Dashboard!O8&"' and AU is not null",0)}

当团队中的员工确实具有拆分角色时,它似乎工作了一半,但它将它们作为另一个条目添加到结果底部,例如:

Person 1

Person 2

Person 1

或者,如果没有拆分角色,则结果返回 ARRAY LATERAL 错误。

任何帮助都会很棒。

【问题讨论】:

  • 这是我制作的测试表docs.google.com/spreadsheets/d/… 现在查看它,我可以明白为什么会发生“阵列横向”错误,但不知道如何解决。您应该能够看到该公式在某种程度上是有效的,但是会将为一个经理担任两个角色的任何人添加为列表中的单独条目,而不是将它们组合在一起。所以人 '4' 和 '5' 在当前列表中被添加了两次。

标签: arrays google-sheets google-sheets-formula google-sheets-query google-query-language


【解决方案1】:

正确的方法是:

=QUERY({B3:E13; B3:B13, F3:H13}, 
 "select Col1,Col2,Col4 where Col3 = '"&C16&"'", 1)


【讨论】:

  • 非常感谢。检查我明白了。开头的数组将第一个角色详细信息,然后是具有第二个角色详细信息的名称组合到同一个数据集中,而不是尝试组合两个单独的查询?
  • 哦还有一件事,当一个人为同一个经理担任不同角色时,问题仍然存在。有没有办法结合每个角色的时间?那么,如果这个人有经理 A 的工作 A 和 B,这两个角色的时间可以合并吗?
  • 是的,是的。看你的表:i.stack.imgur.com/u1xSY.png
  • 谢谢。这真的很有帮助
猜你喜欢
  • 2023-02-21
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 2022-10-21
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多