【问题标题】:Analyze sheet data to create a summary of values分析工作表数据以创建值摘要
【发布时间】:2018-05-10 13:37:09
【问题描述】:

我有一个员工日程表(您可以在下面的链接中查看演示)。正如您在“原始表”中看到的那样,我每天有 2 行,每个班次都有列(Shift A,Shift B ...)。

DEMO SHEET

我需要“反转”表,提取任何员工的每个班次(如您在演示表“计算表”右侧所见)。

我认为普通公式不可能,我尝试使用JOIN 公式和一些IFs,但我认为这不是一个可行的解决方案。

知道如何在 Google App Script 中编写自定义公式吗?您知道公式的任何解决方法吗?你能告诉我在哪里可以找到一些例子吗?

请注意,有时,员工一天可以有两个班次。

【问题讨论】:

  • 是的,您应该能够在 Google Apps 脚本中编写一个脚本来执行此操作。不,我们不会只为您这样做。是的,我们将帮助您解决您在为此编写的函数中遇到的任何错误。查看电子表格服务的 Google Apps 脚本文档并学习一点 Javascript(Apps 脚本是 Javascript v1.6 + 一些 Google 的类和 API)应该可以帮助您入门
  • 考虑研究数据透视表和QUERY 公式。您可能可以实现您的目标 - 在给定的一天打印每个工人的班次 - 无需 Apps 脚本。
  • @tehhowch 我不是在寻找为我工作的人。我知道 javascript 以及如何用 GAS 编写代码。我正在寻找一些想法或解决方法,因为我的问题遇到了麻烦。我将尝试使用数据透视和查询(我现在开始阅读文档)。有什么例子可以建议吗?谢谢

标签: google-apps-script google-sheets


【解决方案1】:

J7:

=ARRAYFORMULA(TEXTJOIN(" ; ";1;IF(OFFSET($A$5;MATCH($I7;$A$6:$A$25;0);2;2;3)=J$6;$C$5:$E$5;)))

向下和向外拖动填充。

  • OFFSET 将日期偏移到 MATCHed 日期的 2x3 数据数组
  • IF 获取标题行
  • TEXTJOIN 加入结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多