Относительная адресация ячеек в таблицах

Автор McAaron, 19 июня 2019, 13:33

0 Пользователи и 1 гость просматривают эту тему.

McAaron

Возникла необходимость в таблице вордпроцессора сослаться на ячейку, отстоящую от активной на m и n позиций по вертикали и горизонтали соответственно.
Например, на ячейку, которая  выше на строку и правее на две колонки, сослаться, типа, как  <$-1+2>, где $ -- символ активной ячейки. В справке ничего не нашел (ячейка, адресация, ссылка, относительная), перепробовал несколько очевидных символов и синтаксисов -- результат нулевой.
Подскажите, пожалуйста, синтаксис относительной адресации

kompilainenn

Вы планируете изменять таблицу в дальнейшем?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

mikekaganski

#2
Ссылки в формулах таблиц Writer всегда относительные. Если Вы, находясь в ячейке A2, пишете формулу "=<C1>", то это и будет ссылка на ячейку "выше на строку и правее на две колонки". Если скопировать эту ячейку (т.е. выделить не содержимое ячейки, а её всю), скопировать и затем вставить в другое место, там появится ссылка относительно нового места.

Однако ничего более сложного в Writer нет: например, нельзя написать формулу, которая бы ссылалась "выше на строку и правее на две колонки" независимо от последующей вставки строк/столбцов между этой ячейкой и используемыми в её формуле, или на условно заданный отступ.
С уважением,
Михаил Каганский

McAaron


McAaron

#4
Цитата: mikekaganski от 19 июня 2019, 14:55
Ссылки в формулах таблиц Writer всегда относительные. Если Вы, находясь в ячейке A2, пишете формулу "=<C1>", то это и будет ссылка на ячейку "выше на строку и правее на две колонки". Если скопировать эту ячейку (т.е. выделить не содержимое ячейки, а её всю), скопировать и затем вставить в другое место, там появится ссылка относительно нового места.

Однако ничего более сложного в Writer нет: например, нельзя написать формулу, которая бы ссылалась "выше на строку и правее на две колонки" независимо от последующей вставки строк/столбцов между этой ячейкой и используемыми в её формуле, или на условно заданный отступ.
Это если я использую только относительную адресацию. Однако в формуле есть ссылки на абсолютные ячейки.
Это таблица, которая  будет вычисляться на основании содержимого первой строки и первого столбца -- они задаются, остальные вычисляются.
Таблица будет копироваться, в копии будет меняться первая строка и столбец.
Формула для всех ячеек кроме тех, что в первой строке и в первом столбце (это просто числа), одна и та же.
Размерности таблиц разные.
Ни вставок, ни удалений в заполненной таблице не будет.
Один из вариантов (простой):
В первой строке, начиная с второй колонки, набор чисел в возрастающем порядке (простые и степени двойки),
в первом столбце, начиная с второй строки, целые,
в ячейке (1,1) -- модуль M.
Формула (i,j)  = (1,j)*(i-1, j) % M
Здесь ссылка на ячейку из первой строки -- первый индекс у нее абсолютный, второй -- относительный. Индексы у второго операнда полностью относительные.



mikekaganski

Интересно, это вот "Это если я использую только относительную адресацию. Однако в формуле есть ссылки на абсолютные ячейки" - попытка поспорить с чем? Я объяснил, что *есть*. Я понимаю, когда может быть нужно нечто большее, но дело в том, что этого в программе *нет*.
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 19 июня 2019, 15:35
Интересно, это вот "Это если я использую только относительную адресацию. Однако в формуле есть ссылки на абсолютные ячейки" - попытка поспорить с чем? Я объяснил, что *есть*. Я понимаю, когда может быть нужно нечто большее, но дело в том, что этого в программе *нет*.
Что-то так и не разобрался я с этим. Как мне в ячейке таблицы вордпроцессора набрать формулу, эквивалент которой в кальке выглядит, как
=mod(B1*B$1;$A$1)