Шаг ячейки в формуле при растягивании

Автор And589, 8 июля 2021, 12:05

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

And589

Возможно, тема сформулирована не совсем точно. Растягиваю формулу справа-налево по одному ряду ячеек. Пример

=Если(AAA1=1;ZZ2;0) как сделать так, чтобы при растягивании формулы справа-налево с AAA1 до A1, результат смещался по такому принципу

условно =Если(AAA1=1;"(ZZ-1)2";0), т.е. растянув формулу на ячейках будет результат

AAA1 = ZZ2 (нет шага между)
ZZ1 = ZX2 (шаг в 1 ячейку)
ZY1 = ZV2 (шаг в 2 ячейки)
ZX1 = ZT2 (шаг в 3 ячейки) и т.д.

растягивая так всю формулу, она застопорится где-то в середине от неполучения данных, но само распределение будет с таким увеличением при растягивании формулы. Какой маркер или символ смещения для этого нужен? Наподобии символа $AAA$1 где ячейка фиксируется при растягивании формулы, но здесь нужно определенное смещение для этой ячейки. Хочется найти список описания таких надстроек для формул (наподобии символа $AAA$1)

economist

=СМЕЩ() или =OFFSET() в соединении с =СТОЛБЕЦ()/=СТРОКА() - позволяет реализовать любое растягивание.

Экзотику с обратным, произвольным, ускоряющимся шагом - можно реализовать, если сослаться в =СМЕЩ() на столбец/строку со значениями нужного смещения
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

sokol92

#2
СМЕЩ - волатильная (летучая) функция (будет часто пересчитываться), можно в качестве альтернативы задействовать ИНДЕКС.
Владимир.

And589

Спасибо за ответы, то что нужно. Хотя примеры самое удобное, особенно сложные с индексом, где можно быстро понять разбирая пример. Но и так помогло. Такой связанный вопрос, есть ли еще какие-то знаки для формул как "&" и ":" или "$", которые ставятся рядом у параметрами ячейки, если первые знаки сами появляется в calc, пример с последним еще нужно найти. Какая-нибудь таблица с такими символами, вдруг там есть еще !, ^, ' ' и т.д. Нашел страницу с описанием стандартных символов calc функций, такие символы привычны, но там нет "$", поэтому и возникает вопрос о подобных "скрытых" символах которые могут облегчить написание.

sokol92

Знак $ служит для "закрепления" номеров строк (столбцов) в формулах Calc. Это полезно при "протягивании" формул, составлении формул для проверки ячеек диапазона и условного форматирования и др. В подобных вопросах при недостатке литературы Вы можете искать рекомендации для Excel (их в интернете очень много) и проверять, действуют ли эти рекомендации для Calc (кстати, хороший метод для обучения).
Владимир.

mikekaganski

Вообще нотация A1, которая заменила нотацию R1C1, выворачивает мозги и обманывает пользователя. Внутри программы ссылка на A1 из B2 на самом деле всё равно имеет вид R[-1]C[-1], то есть никакого A1 там нет, а есть ссылка на "ячейку слева на 1 столбец и сверху на 1 строку". Ссылка на $A1 оттуда же выглядит как R[-1]C1, т.е. фиксированный столбец, относительная строка. И т.п.

Популярность синтаксиса A1, вероятно, из-за того, что формула вида =R[125]C17 воспринимается несравнимо сложнее, чем =$P251: не нужно высчитывать отступы для определения, откуда же взято значение. Но при этом отображение адреса ячейки создаёт ложное впечатление, что в формуле с относительными ссылками используются адреса, тогда как на самом деле используются смещения. Трудно воспринять, что в реальности всё не так, как на самом деле.
С уважением,
Михаил Каганский

sokol92

#6
Здравствуйте, Михаил! Вы смотрите на мир Calc глазами программиста (как и я, надеюсь). Думаю, для пользователей, которые пишут формулы гораздо чаще, чем программисты, синтаксис A1 удобнее (как Вы сами и отметили). Кстати, по моим наблюдениям и программисты при работе в Excel гораздо чаще используют (устанавливается в параметрах) стиль ссылок A1, чем R1C1. К моему стыду, и я принадлежу к первой группе.  :)

Кстати, насчет параметров. В Excel всегда видно, к чему относится параметр: книге, листу, экземпляру приложения. В интерфейсе Calc я это не вижу, и (особенно в начале) это вызывает трудности.
Владимир.

mikekaganski

Дело не в том, какими глазами смотрю я. Дело в том, какие сложности возникают у пользователей, которые должны воспринимать ссылки, в которых прописаны конкретные адреса, как относительные; как они должны себе сочинять, что при копировании такие ссылки "обновляются", когда на самом деле они не меняются (что абсолютные, что относительные); как они должны учитывать эти фокусы при, например, определении условного форматирования (вводя формулы относительно верхнего левого угла) и т.п. Речь не о том, что, дескать, один синтаксис лучше другого, а в том, что независимо от синтаксиса, осознание относительной адресации в правильном виде помогло бы при обучении и работе.
С уважением,
Михаил Каганский

sokol92

Я абсолютно согласен с тем, что обучать нужно правильно и это, на самом деле, большое искусство. Специалистов, подобных А.Питоньяку, единицы.
Владимир.

eeigor

#9
Первое. Буквально вчера правил одну таблицу с большим количеством формул. Переключил в режим R1C1 и увидел, что не все формулы в поле одинаковые. Ссылки смешанные и однотипные (процент от общего количества). Три повторяющихся группы информации, столбец с общей численностью – крайний слева (на разном удалении от зависимых ячеек). Правильная формула в стиле R1C1 всегда одинаковая: в описанном примере – в разных столбцах и строках. Замечательное средство поиска ошибок.
Второе. В коде удобно использовать тоже стиль R1C1 по той же причине: задал диапазон – присвоил единую формулу. Или же использую структурированные ссылки для диапазона базы данных: диапазон вычислять не надо вовсе (достаточно его имени), и неважно, что эти ссылки потом будут заменены на абсолютные. Для решения этих задач стиль A1 – это кошмар, но большинству пользователей это не нужно.

В остальных случаях и я использую стиль A1. Потому что это наглядно: ссылку не надо вычислять, ибо это координаты ячейки. Да, в отличие от $A$1, A1 – это относительная ссылка. Из-за этого работа, к примеру,  с условными форматами в этом стиле вызывает массу непонимания. Но про стили надо знать до начала их использования!
Вряд ли что-то лучше/хуже: одно дополняет другое. Возможность переключаться между стилями надо иметь под рукой.

UPD:
Вот только под рукой не получается...
https://forumooo.ru/index.php/topic,8733.msg58955.html#msg58955
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community