У меня есть диапазон, содержащий данные на одном листе, и я хочу вырезать и манипулировать различными столбцами, используя формулы массива на другом листе.
Поэтому в качестве примера я могу воспроизвести один столбец по формуле:
=INDEX(originalData,0,MATCH("product_name",OFFSET(originalData,0,0,1),0))
где originalData
- это динамический именованный диапазон, который применяется ко всем данным, содержащимся на первом листе. Таким образом, он просматривает заголовки и возвращает столбец с заголовком "product_name".
У меня проблема в том, что данные имеют различное количество строк - от 50 000 до нескольких сотен тысяч. Можно ли определить формулу массива так, чтобы она возвращала массив динамического размера вместо необходимости предварительно выбирать тонну строк, которые мне могут не понадобиться, и замедлять все это на тонну?
(Я знаю, что это работает в Google Sheets - есть ли эквивалент?)
РЕДАКТИРОВАТЬ - Пример для наглядности:
На листе 1:
originalData
определяется как =OFFSET($A$1,0,0,COUNTA($A:$A),COUNTA($1:$1))
, но это просто избавляет от необходимости вводить все это несколько раз в формулах в листе 2.
На листе 2:
Я хочу использовать эти данные для создания нового набора данных, например, приведенного ниже, который берет данные из исходного источника данных, иногда прямые, иногда манипулируемые (например, цена может быть найдена из других источников).
Однако давайте возьмем пример столбца A, который должен быть таким же, как столбец A на листе 1. В листах Google я бы использовал формулу что-то вроде =INDEX(originalData,0,MATCH("product_id",OFFSET(originalData,-1,0,1),0))
в ячейке A1, и это вернуло бы массив, равный количество строк, на которые ссылается массив.
Однако, насколько мне известно, в Excel вы должны предварительно выбрать диапазон, в котором вы хотите, чтобы возвращаемый массив шел, и, следовательно, вам нужно знать размер массива заранее, чтобы выбрать правильное количество строк. Так как размер originalData
будет меняться при каждом обновлении, я хочу избежать этого, и размер возвращаемого массива может варьироваться в зависимости от соответствия.