Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

23 Сентябрь 2021, 20:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Шаг ячейки в формуле при растягивании  (Прочитано 700 раз)
0 Пользователей и 1 Гость смотрят эту тему.
And589
Форумчанин
***
Offline Offline

Сообщений: 96


« Стартовое сообщение: 8 Июль 2021, 12:05 »

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

=Если(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)

* Шаг ячейки в формуле.ods (13.47 Кб - загружено 4 раз.)
« Последнее редактирование: 8 Июль 2021, 12:06 от And589 » Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 545


« Ответ #1: 8 Июль 2021, 17:13 »

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

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

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 561


WWW
« Ответ #2: 8 Июль 2021, 17:18 »

СМЕЩ - волатильная (летучая) функция (будет часто пересчитываться), можно в качестве альтернативы задействовать ИНДЕКС.
« Последнее редактирование: 8 Июль 2021, 17:20 от sokol92 » Записан

Владимир.
And589
Форумчанин
***
Offline Offline

Сообщений: 96


« Ответ #3: 9 Июль 2021, 12:22 »

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

Пол: Мужской
Сообщений: 561


WWW
« Ответ #4: 9 Июль 2021, 14:30 »

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

Владимир.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 309


« Ответ #5: 9 Июль 2021, 19:14 »

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

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

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 561


WWW
« Ответ #6: 9 Июль 2021, 20:01 »

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

Кстати, насчет параметров. В Excel всегда видно, к чему относится параметр: книге, листу, экземпляру приложения. В интерфейсе Calc я это не вижу, и (особенно в начале) это вызывает трудности.
« Последнее редактирование: 9 Июль 2021, 20:13 от sokol92 » Записан

Владимир.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 309


« Ответ #7: 9 Июль 2021, 20:14 »

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

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 561


WWW
« Ответ #8: 9 Июль 2021, 20:18 »

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

Владимир.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 712



« Ответ #9: 9 Июль 2021, 22:14 »

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

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

UPD:
Вот только под рукой не получается...
https://forumooo.ru/index.php/topic,8733.msg58955.html#msg58955
« Последнее редактирование: 10 Июль 2021, 10:28 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.0.2 Community
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!