Динамическое объединение двух и более таблиц

Часто бывает так что есть данные в разных таблицах, которые необходимо свести в одну:

different tables

Копировать и вставлять данные таблиц неудобно, да и бессмысленно в случае если эти данные из внешних источников и могут меняться.

Первоначальная обработка таблиц

Первый шаг — получить данные, используя ссылку B3:C. Эта открытая ссылка гарантирует автоматический выбор любых возможных новых данных. Но , чтобы она работала корректно, не затягивая вообще всё, необходимо отфильтровать пустые строки, чтобы последующие таблицы можно было расположить друг над другом.

=FILTER(B3:C;B3:B<>"")

Аналогичное упражнение проделывается с остальными таблицами

=FILTER(E3:F;F3:F<>"")
=FILTER(H3:I;H3:H<>"")
filter tables

Объединение таблиц

Здесь используются литералы массива, чтобы накладывать отфильтрованные таблицы друг на друга.

Это конструкция { ; } , которая использует фигурные скобки и точку с запятой, чтобы расположить таблицы друг над другом:

={FILTER(B3:C;B3:B<>"");FILTER(E3:F;F3:F<>"");FILTER(H3:I;H3:H<>"")}
merged table

Добавление заголовка таблицы

Делается следующим образом, перед фильтром ставится "Товар"\"Цена":

={"Товар"\"Цена";FILTER(B3:C;B3:B<>"");FILTER(E3:F;F3:F<>"");FILTER(H3:I;H3:H<>"")}
merged table with header

Приятной особенностью этого решения является то, что по мере добавления данных в исходные таблицы они автоматически переносятся в итоговую таблицу.

А теперь вопрос: какую формулу/формулы вы бы использовали для решения подобной задачи?


Ваше мнение важно и может улучшить блог

Я хочу услышать ваше мнение и ваши идеи о том, как сделать этот сайт еще лучше. Примите участие в опросе, чтобы поделиться вашими пожеланиями, предложениями и замечаниями. Пройдите опрос сейчас и помогите сделать этот сайт более полезным для вас!

Добавить комментарий