Sheet 的部分转置

Partial transpose of Sheet

我有一个 Google Sheet,格式如下:

+---------+---------+---------+------------+------------+------------+------------+--------+--------+
| Field_A | Field_B | Field_C | 24/09/2019 | 25/09/2019 | 26/09/2019 | 27/09/2019 | day... | day... |
+---------+---------+---------+------------+------------+------------+------------+--------+--------+
| ValX    | ValY    | ValZ    | Val1       | Val2       | Val3       | Val4       |        |        |
| ValW    | ValY    | ValZ    | Val5       | Val6       | Val7       | Val8       |        |        |
+---------+---------+---------+------------+------------+------------+------------+--------+--------+

前 3 列是特定字段,所有其他列与给定(和静态)范围内的特定日期相关。

我需要 table 转换为以下格式:


+---------+---------+---------+------------+-----------+
| Field_A | Field_B | Field_C |    Date    | DateValue |
+---------+---------+---------+------------+-----------+
| ValX    | Valy    | Valz    | 24/09/2019 | Val1      |
| ValX    | Valy    | Valz    | 25/09/2019 | Val2      |
| ValX    | Valy    | Valz    | 26/09/2019 | Val3      |
| ...     |         |         |            |           |
+---------+---------+---------+------------+-----------+

基本上,前 3 列按原样收集,但转置的日列(甚至是正确的术语?)有 2 个值:

是否可以通过公式实现,或者我是否需要创建一个有界的 AppsScript?

下面是示例 Sheet 演示:https://docs.google.com/spreadsheets/d/1cprzD96i-4NQ8tieA_nwd8s43yKF-M8Kww4yWNfB6tg/edit#gid=505040170

您可以看到我使用的公式,每一行 TRANSPOSE,其中我 select IV 列的天数和 V 行一次一行的天数。 对于 3 个静态列,我为当天与该行相关的每个实例复制了公式。 这是可行的,但需要大量手动工作来设置每个 TRANSPOSE。我想知道是否有更自动的方法来执行此操作(除了使用 AppsScript,在那种情况下,如果没有其他解决方案可用,我已经计划这样做)

=ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(Start!D2:F<>""; "♦"&TRANSPOSE(QUERY(TRANSPOSE(Start!A2:C&"♠");;999^99))&
 TEXT(Start!D1:F1; "dd/mm/yyyy")&"♠"&Start!D2:F; ));;999^99));;999^99); "♦")); "♠")))