Как определить динамические диапазоны на Calc (или Excel)? - PullRequest
7 голосов
/ 07 февраля 2012

Допустим, у меня есть объект Libreoffice.org Calc (возможно, это относится и к MS Excel), определенный как диапазон $Sheet1.$A$1:$A$4.

Я также объявил константу со значением 1. Для этой цели макета назовем ее startingLine.

Оба объекта правильно определены в диалоговом окне «Определить имена» (сочетание клавиш: Ctrl + F3).

Что я хотел бы сделать, это превратить строки определенного диапазона в переменные. На мой взгляд, все, что нужно, это определить это так: $Sheet1.$A$startingLine:$A$4, но это не работает. : - /

Я ищу простое решение для работы с электронными таблицами, к сожалению, в этот раз макросы не сделают это для меня. Решение, использующее ссылку R1C1, было бы достаточно хорошим, однако. :)

Любая помощь будет очень признательна!

Ответы [ 2 ]

11 голосов
/ 07 февраля 2012

Вам нужно будет использовать версию этой формулы (Excel) =CELL("contents",INDIRECT(CONCATENATE("A",startingLine)))
Это дает вам содержимое ячейки A1, где startingLine является константой 1. Кроме того, если мы определим endingLine как A, мы можем заменить A в формуле:
=CELL("contents",INDIRECT(CONCATENATE(endingLine,startingLine)))

Чтобы определить диапазон для вас может быть =INDIRECT(CONCATENATE("$sheet1.$A$",startingLine,":$A$4"))
например, для суммирования (в Excel) =SUM((INDIRECT(CONCATENATE("$A$",startingLine,":$A$4")))), но я не знаком с определяющими диапазонами в libreoffice

1 голос
/ 21 сентября 2016

Чтобы использовать результаты списка в LibreOffice calc в качестве определения для вторичного списка, выполняются следующие работы:

Первые списки, определенные в DATA>DEFINE RANGE например. «Завтрак», «Ужин», где каждый элемент представляет собой список, содержащий несколько строк, и в совокупности он называется «Завтрак» или «Ужин».
подробные пункты меню

определение списка с названием «Завтрак» может включать: бекон, бобы, яйца, хэш-коричневый, грибы и т. Д. ... этот список лучше всего определить на отдельном листе.

Если вы хотите выбрать пункты меню из каждого списка на основе выбора «Завтрак» или «Ужин», вам нужен список, определенный в данных> срок действия с этими двумя вариантами. Скажите, что это определено в ячейке A2.
Выбор на высшем уровне

Чтобы связать два подробных пункта меню с именем «Завтрак» или «Ужин» с выбором между ними, используйте формулу:

=indirect(A2)

в клетке С2.

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

Надеюсь, это имеет смысл - и большое спасибо Waldir Leoncio за напоминание!

...