У меня есть Google Лист с этим форматом:
+---------+---------+---------+------------+------------+------------+------------+--------+--------+
| 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 столбца являются конкретными полями, а все остальные столбцы относятся к одному конкретному дню в данном (и статическом) диапазоне.
Мне нужно преобразовать таблицу в следующем формате:
+---------+---------+---------+------------+-----------+
| 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 столбца собраны как есть, но столбец дня в транспонированном (четныйправильный термин?) с двумя значениями:
- Дата
- Значение в ячейке, относящееся к дате
Это то, что может быть достигнуто с помощьюФормула или мне нужно создать ограниченный AppsScript?
После демонстрации примера листа: https://docs.google.com/spreadsheets/d/1cprzD96i-4NQ8tieA_nwd8s43yKF-M8Kww4yWNfB6tg/edit#gid=505040170
- В листе
Start
вы можете увидеть исходные данные и формат, 3статические столбцы и один столбец для каждого da - В листе
End
вы можете увидеть нужный мне формат вывода, те же 3 статических столбца, но дата и значение ячейки, относящиеся к дате, транспонируются какстрока.
Вы можете увидеть формулу, которую я использовал, TRANSPOSE
for в каждой строке, где я выбираю дни для столбца IV и по одной строке за один раз для строки V.Для 3 статических столбцов я реплицировал формулу для каждого экземпляра дня, связанного с этой строкой.Это работает, но требует много ручного труда для настройки каждого TRANSPOSE
.Мне интересно, есть ли более автоматический способ сделать это (за исключением использования AppsScript, в этом случае я уже планирую сделать это, если не доступны другие решения)