Может быть, есть лучший способ архивировать это, объединить данные аналогично SQL JOIN, динамически ?Моя идея состоит в том, чтобы сделать это с помощью функций INDEX и MATCH
Но затем я застрял, чтобы сделать его более гибким и динамичным;извлечь одну строку / столбец из диапазона - для использования в MATCH : электронная таблица Google ???
Я пытаюсь создать динамический диапазон таблицы в Googleэлектронная таблица ... в зависимости от доступных данных.
Чтобы объединить данные, подобные SQL JOIN, динамически:
By, чтобы объединить несколько таблиц, диапазонов вместе ... для объединения функцийINDEX и MATCH ... Есть ли возможность / функция для извлечения одной строки / столбца из диапазона?
Почему?Функция MATCH в электронной таблице Google, просто позволяет диапазон только одной строки / столбца.
Мое решение в этоммомент делает это с помощью динамических именованных диапазонов
Это для определения каждого диапазона отдельно ...
Данные> Именованные диапазоны ...
полный ассортимент | header |диапазон данных | 1-й столбец
В этом случае:
- диапазон: TBL_ITEM_TYPE! A1: D7 -> range_ITEM_TYPE
- заголовок: TBL_ITEM_TYPE! A1: D1 -> header_ITEM_TYPE
- данные: TBL_ITEM_TYPE! A2: D7 -> data_ITEM_TYPE
- 1-й столбец: TBL_ITEM_TYPE! A2: A7 -> 1col_ITEM_TYPE [см. изображение]
Но этобыло бы проще, если бы можно было извлечь необходимые данные / заголовок / 1-й столбец из одного определенного именованного диапазона.
В этом случае из диапазон: TBL_ITEM_TYPE! A1: D7
Лучшее решение ... идея
Помещает его в одну настраиваемую функцию [в редакторе сценариев] такему нужно меньше аргументов или только один аргумент о диапазоне.
Для объединения данных, похожих на SQL JOIN
=INDEX( TBL_ITEM_TYPE!A1:D7 ,
MATCH( $B2, TBL_ITEM_TYPE!A1:D1, 0)
MATCH( H$1, TBL_ITEM_TYPE!A1:A7, 0)
)
1) работа с определенными диапазонами имен: динамические диапазоны
=INDEX( indirect(range_ITEM_TYPE) ,
MATCH( $B2, indirect(header_ITEM_TYPE), 0)
MATCH( H$1, indirect(1col_ITEM_TYPE), 0)
)
2) с функциями 'fHeader' и'f1Column', для извлечения заголовка (1-й строки) и первого столбца (индекса) данных / таблиц
=INDEX( indirect(range_ITEM_TYPE) ,
MATCH( $B2, fHeader(indirect(range_ITEM_TYPE)), 0)
MATCH( H$1, f1Column(indirect(range_ITEM_TYPE)), 0)
)
3) одна функция getINDEX: реализованы (под) функции 'fHeader'и 'f1Column', чтобы получить нужные данные
=getINDEX( indirect(range_ITEM_TYPE) , ( $B2, 0), (H$1, 0))