#google-sheets #append #formula
Вопрос:
Всем привет,
У меня есть 3 таблицы с разным количеством столбцов, где некоторые столбцы фактически повторяются в этих 3 таблицах (как показано на скриншоте выше).
Table 1: Col A to Col D
Table 2: Col F to Col H
Table 3: Col J to Col L
Я хочу объединить эти 3 таблицы вместе, чтобы уменьшить количество столбцов в моем листе Google. На скриншоте ниже показано, как я обрабатываю эти 3 таблицы перед объединением.
Я использую QUERY
для создания дополнительных столбцов для каждой таблицы, чтобы количество столбцов и положение были выровнены между 3 таблицами. После этого я QUERY
снова использую для добавления 3 обработанных таблиц, как показано на скриншоте ниже:
Однако этот метод очень утомителен, когда у меня 10 или более таблиц. Есть ли какие-либо другие более простые способы или приемы, чтобы я мог достичь того же ожидаемого результата, как показано на 3-м скриншоте?
Это мой листок:
https://docs.google.com/spreadsheets/d/1H1gJAhp1RVax2fy8D-uEtFxdjb-zAHutkPFv5WZT_TY/edit#gid=0
Любая помощь будет очень признательна!
Ответ №1:
Вам понадобится действительно сложная формула, чтобы получить желаемый результат, представляющий собой комбинацию нескольких формул
Я добавил новую вкладку в ваш лист Google под названием «Решение» с этой формулой
=QUERY(ARRAYFORMULA({
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3amp;"~"amp;Sheet1!A4:Aamp;"~"amp;Sheet1!B4:D),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!G3:H3amp;"~"amp;Sheet1!F4:Famp;"~"amp;Sheet1!G4:H),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!K3:L3amp;"~"amp;Sheet1!J4:Jamp;"~"amp;Sheet1!K4:L),"~")),"")}),
"SELECT Col2, SUM(Col3) WHERE Col2 is not null GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
Шаги:
- Открутите каждый стол
=IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3amp;"~"amp;Sheet1!A4:A6amp;"~"amp;Sheet1!B4:D6),"~")),"")
- Объедините все таблицы в одну таблицу:
=ARRAYFORMULA({__Unpivot1__; __Unpivot2__, __Unpivot3__})
- Сверните данные выше в шаге 2:
=Query(__Step2__, "SELECT Col2, SUM(Col3) GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
- Добавьте
WHERE Col2 is not null
запрос, чтобы удалить все возможные пустые строки
Комментарии:
1. Спасибо за ваше решение! Количество столбцов для каждой таблицы фиксировано, но строки могут продолжать увеличиваться. Поэтому я отредактировал вашу формулу, удалив
6
зад. Однако, похоже, что на вкладке «Решение» есть пустое место (строка 2), как мне его удалить?2. Вам нужно добавить
WHERE Col2 is not null
в формулу. Я обновил его в ведомости. Смотрите видео: youtube.com/watch?v=J_HxzNw-feA