Google Sheets: Собственная формула для возврата среза значений INDEX () между двумя индексами? - PullRequest
2 голосов
/ 07 января 2020

Используя только встроенные функции Google Sheets (без сценариев), как я могу вернуть фрагмент значений между двумя указанными индексами из =INDEX() или другой ссылкой на диапазон?

Пример

Если:

=INDEX("Apple", "Banana", "Curant", "Delicious", "Eggplant", "Fruit")

и заданные индексы равны 3 и =LEN(INDEX(...))

, то желаемый возвращаемый результат равен:

{"Curant", "Delicious", "Eggplant", "Fruit"}

Примечание

  • Использование =INDEX() предпочтительнее, но также хороши и другие нативные решения.
  • Вариант использования требует, чтобы решение могло принимать динамический c ввод как часть более крупной функции, а не задавать явные диапазоны в качестве ввода.
  • Решение может быть включающим или исключающим из указанных показателей.

Спасибо!

1 Ответ

1 голос
/ 07 января 2020

Вы можете сделать это sh, используя функцию = QUERY () :

=QUERY(INDEX(A2:A), "SELECT A LIMIT "&(D2-C2+1)&" OFFSET "&(C2-1))

Где C2 содержит начальный индекс, а D2 последний .

Если вы используете эту функцию на выходе другой функции, вам придется заменить A в предложении SELECT для идентификатора Col1:

=QUERY(INDEX(A2:A), "SELECT Col1 LIMIT "&(D2-C2+1)&" OFFSET "&(C2-1))

Примеры

Example 1

Example 2

Example 3

...