【发布时间】:2021-05-30 20:52:33
【问题描述】:
摘要选项卡包含项目名称,这是我的谷歌表格中剩余选项卡名称的名称,如下所示:
| TabName |
|---|
| Project1 |
| Project2 |
| Project3 |
最多可以定义 20 个 TabName,但这不是必需的。所有项目名称选项卡具有相同的格式 - 1 行包含每周开始日期,第 1 列包含资源名称。以下是项目名称选项卡的外观 -
Project1 选项卡
| Person | 1-Mar-2021 | 8-Mar-2021 | 15-Mar-2021 | 22-Mar-2021 | 29-Mar-2021 | 5-Apr-2021 | |||
|---|---|---|---|---|---|---|---|---|---|
| John | 2 | 2 | 4 | 5 | 5 | 5 | |||
| Jane | 1 | 1 | 1 | 1 | |||||
| Abe | 5 | 5 |
Project2 的开始周与 Project1 和 Project3 不同。
Project2 选项卡
| Person | 4-Jan-2021 | 11-Jan-2021 | 18-Jan-2021 | 25-Jan-2021 | 1-Feb-2021 | 8-Feb-2021 | 15-Feb-2021 | ||
|---|---|---|---|---|---|---|---|---|---|
| Joe | 2 | 2 | 4 | 5 | 5 | 5 | |||
| Mary | 1 | 1 | 1 | 1 | |||||
| Abe | 5 | 5 |
Project3 的开始周与 Project1 和 Project2 不同。
Project3 标签
| Person | 8-Feb-2021 | 15-Feb-2021 | 22-Feb-2021 | 1-Mar-2021 | 8-Mar-2021 | 15-Mar-2021 | 22-Mar-2021 | 29-Mar-2021 |
|---|---|---|---|---|---|---|---|---|
| Joe | 2 | 2 | 4 | 5 | 5 | 5 | ||
| Mary | 1 | 1 | 1 | 1 | ||||
| John | 5 | 5 | ||||||
| Marg | 3 | 3 | 3 |
请注意,Row1Col2 中的开始周可能并非所有项目的同一日期。例如,Project1 于 3 月 1 日开始,而 Project2 于 1 月 4 日开始。此外,并非所有资源都跨所有项目(例如 Jane 和 Marg 仅在一个项目中)。
在摘要选项卡中,它应该按资源和周显示所有项目的串联,如下所示 -
每周资源标签
| Person | 4-Jan-2021 | 11-Jan-2021 | 18-Jan-2021 | 25-Jan-2021 | 1-Feb-2021 | 8-Feb-2021 | 15-Feb-2021 | 22-Feb-2021 | 1-Mar-2021 | 8-Mar-2021 | 15-Mar-2021 | 22-Mar-2021 | 29-Mar-2021 | 5-Apr-2021 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| John | Project3 (5) | Project1 (2) | Project1 (2) Project3 (5) | Project1 (4) | Project1 (5) | Project1 (5) | Project1 (5) | ||||||||||
| Jane | Project1 (1) | Project1 (1) | Project1 (1) | ||||||||||||||
| Joe | Project2 (2) | Project2 (2) | Project2 (4) | Project2 (5) | Project2 (5) | Project2 (5) Project3 (2) | Project3 (2) | Project3 (4) | Project3 (5) | Project3 (5) | Project3 (5) | Project3 (5) | |||||
| Abe | Project2 (5) | Project2 (5) | Project1 (5) | Project1 (5) | |||||||||||||
| Mary | Project2 (1) | Project2 (1) | Project2 (1) | Project2 (1) | Project3 (1) | Project3 (1) | Project3 (1) | Project3 (1) | |||||||||
| Marg | Project3 (3) | Project3 (3) | Project3 (3) |
包含资源名称的第 1 列和第 1 行的开始日期是固定的(即无需计算)。此外,如果一个资源有多个项目,则连接的项目由换行符分隔。
如果开始周没有日期或没有为该行定义资源名称,我还希望不执行串联计算。 “摘要”选项卡将确定串联计算需要查找数据的项目选项卡的数量。
我确实有使用很长的 SUMPRODUCT 和 INDIRECT 的 Resource Weekly 选项卡。但是,当我添加此资源周刊表时,现在谷歌表的运行速度要慢得多。
有没有办法使用应用脚本来做到这一点?
【问题讨论】:
-
为了正确了解您目前的情况,能否提供样本电子表格?
-
感谢您添加更多信息。我可以看到您的示例电子表格。为了确认您的目标,您能否使用示例电子表格添加您期望的输出情况?因为我不确定我是否能正确理解实现目标的逻辑。这是因为我的英语水平不好。对此我深表歉意。
-
链接是包含在每周选项卡中的 SUMPRODUCT 和 INDIRECT 公式的文件。这是实际公式的更短和更简单的版本。例如,项目文件将包含一个附加列,表示远程工作的 Y。我会将其分隔为 2 个单独的行,并在开头带有一个符号。例如,如果 Joe 在 2 月 8 日在 Project2 上工作,如果他在 Project 2 上的 5 天是远程 3 天和现场 2 天,则预期结果将是 Project2 (2) new line R Project2 (3) new line Project3 (2)。
-
通过公式计算可以看到预期的结果。我想将这个重复的公式转换为应用程序脚本,以便我的电子表格运行得更快。它至少比以前慢了 20 倍。 1 秒,现在 20 到 30 秒。
标签: google-apps-script google-sheets google-sheets-formula