Чтобы объединить данные, аналогичные SQL JOIN, динамически: с помощью функций INDEX и MATCH: электронная таблица Google - PullRequest
0 голосов
/ 29 декабря 2018

Может быть, есть лучший способ архивировать это, объединить данные аналогично SQL JOIN, динамически ?Моя идея состоит в том, чтобы сделать это с помощью функций INDEX и MATCH

Но затем я застрял, чтобы сделать его более гибким и динамичным;извлечь одну строку / столбец из диапазона - для использования в MATCH : электронная таблица Google ???


Я пытаюсь создать динамический диапазон таблицы в Googleэлектронная таблица ... в зависимости от доступных данных.

Чтобы объединить данные, подобные SQL JOIN, динамически:

By, чтобы объединить несколько таблиц, диапазонов вместе ... для объединения функцийINDEX и MATCH ... Есть ли возможность / функция для извлечения одной строки / столбца из диапазона?

Почему?Функция MATCH в электронной таблице Google, просто позволяет диапазон только одной строки / столбца.

not dynamic - links


Мое решение в этоммомент делает это с помощью динамических именованных диапазонов


Это для определения каждого диапазона отдельно ...

Данные> Именованные диапазоны ...

полный ассортимент | 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 different named ranges


Лучшее решение ... идея


Помещает его в одну настраиваемую функцию [в редакторе сценариев] такему нужно меньше аргументов или только один аргумент о диапазоне.

Для объединения данных, похожих на 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...