Как последовательно сохранять результаты авторасчета LibreOfficeCalc в таблицу?

Автор Tigrik, 18 ноября 2021, 00:46

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

Tigrik

Здравствуйте!

Опять же, если такая задача уже обсуждалась на форуме (или ещё где), буду благодарен за ссылку.

Для того чтобы более точно объяснить то, что мне необходимо решить, пришлось придумать небольшой пример в приведённом файле.
Этот пример, практически точно, определяет алгоритм моей задачи.
Последовательно построчно (в примере - начиная с ячейки C12) вводятся какие-то данные. После долгих расчётов (несколько тысяч строк в моём алгоритме) результат заносится в ячейку C1.
Так вот, у меня задача, чтобы, также последовательно, записывать эти результаты в соседнюю от вводной ячейку (начиная с D12).
Естественно, что можно формировать и отдельную таблицу (исходные данные - результат), но трудность для меня состоит в том, что у меня не получается последовательно сохранять результаты предыдущих расчетов.

Конечно, все это можно "заставить" делать макрос, но, в данном случае, удобнее и показательнее все расчеты делать на страничке.
Такая задача мне, достаточно часто, встречалась, но всегда получалось придумать какие-то "костыли", так как расчёты были не такие объемные.
Возможно, что это можно решить ЗАПИСЫВАЯ результаты в ПОСЛЕДОВАТЕЛЬНЫЕ ЯЧЕЙКИ, но я не знаю как это сделать.

Подскажите, пожалуйста, если у кого есть решение для этой задачи.

Спасибо.

economist

Сервис - Сценарии...

Но т.к. расчеты долгие - можно поискать другой инструмент, побыстрее. Быстрее Python + Pandas + Numpy для расчетов нет ничего: https://forumooo.ru/index.php/topic,8696.0.html

Что касается вопроизводимого исследования типа "анализа чувствительности" модели к определенным диапазонам вх. параметров - то стандарт отрасли для оформления таких исследований - это блокноты  Jupyter/Jupytrelab (описаны по той же ссылке). Там именно то что вы хотите - меняем набор параметров в ячейке с кодом, запускаем, ниже получаем результат и он не меняется. Блокнот можно экспортировать в PDF/HTML/презентации, а можно просто прислать получателю или выложить в Binder, если данные несекретные/обезличены. 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

eeigor

Цитата: Tigrik от 18 ноября 2021, 00:46у меня не получается последовательно сохранять результаты предыдущих расчетов
Вы недостаточно полно объяснили, что Вы хотите получить. Приведите пример правильного конечного состояния вашего примера на копии листа. Очевидно, в столбце D значение результата должно быть разным в соответствии с расчетами, но Вы заполнили одним и тем же.
Смысл поля "Заполняемая таблица" вообще не понятен.

Цитата: Tigrik от 18 ноября 2021, 00:46...результат заносится в ячейку C1.
Так вот, у меня задача, чтобы, также последовательно, записывать эти результаты в соседнюю от вводной ячейку (начиная с D12)
А почему бы сразу не заносить результат "в соседнюю от вводной ячейку", добавив в "несколько тысяч строк в моём алгоритме" ещё одну строку?
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

mikekaganski

Цитата: Tigrik от 18 ноября 2021, 00:46у меня задача, чтобы, также последовательно, записывать эти результаты в соседнюю от вводной ячейку (начиная с D12).
Естественно, что можно формировать и отдельную таблицу (исходные данные - результат), но трудность для меня состоит в том, что у меня не получается последовательно сохранять результаты предыдущих расчетов.

Конечно, все это можно "заставить" делать макрос, но, в данном случае, удобнее и показательнее все расчеты делать на страничке.

Заранее прошу прощения за то, что отвечаю, не заглядывая в пример.
Если я правильно понимаю, задача в том, чтобы каждый раз следующий результат расчёта (формулами) попадал в новую ячейку, сохраняя предыдущие результаты?

Так вот, нет такого средства в электронных таблицах без макросов. Формулы - по определению динамически вычисляют свои результаты в зависимости от исходных данных; и формулы никогда не записывают свои результаты в другие ячейки. Поэтому все хитрости типа вычислений с циклами, которые могут работать на одной версии одной табличной программы, обязательно сломаются в следующей версии или в другой программе. Оно в принципе не предназначено для этого.

В качестве алгоритма для макроса, который одновременно сохранял бы старые результаты, и добавлял новые с сохранением удобства формул:

1. Определить, какая ячейка результатов была последней.
2. Преобразовать её из формул в значения.
3. Справа от неё записать ту же формулу.

Тогда у Вас последний результат - формула, а все предыдущие - фиксированные числа.
С уважением,
Михаил Каганский

Tigrik

Я уже хотел выложить комментарий, где пытался более подробно и чётко изложить в чём у меня проблема, но
Цитата: mikekaganski от 18 ноября 2021, 09:45Если я правильно понимаю, задача в том, чтобы каждый раз следующий результат расчёта (формулами) попадал в новую ячейку, сохраняя предыдущие результаты?
Да, Вы всё правильно поняли.

У меня была надежда, что можно обойтись без макросов, так как, в моём случае, пользоваться макросом будет не совсем удобно.
Но буду думать.

---------

Цитата: economist от 18 ноября 2021, 08:06Сервис - Сценарии...
У меня пункт "Сценарии" не активен (его нельзя выбрать).

Цитата: economist от 18 ноября 2021, 08:06
Но т.к. расчеты долгие - можно поискать другой инструмент, побыстрее. Быстрее Python + Pandas + Numpy для расчетов нет ничего
Это, пока, преждевременно для меня, но не исключаю, что могу обратится к изучению этого.


Благодарю всех кто ответил мне и пытался помочь в моей задаче.