Разные вопросы

Автор And589, 18 ноября 2013, 21:31

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

And589

Нет, ничего не изменяется, если убрать bin, то crash, если убрать сначала exe, потом bin - crash - восстановление - ячейки также долго перемещаются, т.е. квадратики расчета пролетают быстро, а скорость та же. Т.е. если 500x20 ячеек, в каждой ))))))))))))))))))))))))))))))))))))) до 40, до ошибки 514, как бы программа из формул (смена фона STYLE, сдвиг, появление чисел относительно других, все с IF, COUNTIF), т.е. такие неправильные скрипты длинной кирпичной стеной из множества простых функций. Но разве макросами не дольше пересчет 500x20 ячеек? Или медленно только libreoffice basic, а другие быстрые? Т.е. имею в виду что сейчас время переноса всех 500x20 ячеек такое же как перенос одной пустой в другое место.

1) Если так, то какой вы считаете лучше скриптовый язык выбрать для calc именно для смены 500x20 ячеек после изменения одного параметра, и чтобы общая перестройка ячеек не занимала по половине минуты на каждый перенос? Т.е. скрипт который образует что-то похожее на программу с постоянным изменением ячеек после изменения цифр.
2) Calc текущей версии везде вылетает по несколько раз в день, особенно после ctrl+z (назад)?
3) Можно ли запускать в calc браузерное окно с URL и flash из Firefox без открытия Firefox?

celler

And589, если нужны именно стабильность и быстрота, то попробуйте Gnumerik,- есть даже портативная версия. Макросы он не понимает, но с формулами на порядок быстрее, чем LO или OO, и ещё имеет некоторые возможности, которых в других программах просто нет. У меня он легко справляется с формулами в трёх миллионах ячеек. Формат ods он тоже понимает.

JohnSUN

Цитата: And589 от 26 ноября 2013, 21:42
Нет, ничего не изменяется, если убрать bin, то crash, если убрать сначала exe, потом bin - crash - восстановление - ячейки также долго перемещаются, т.е. квадратики расчета пролетают быстро, а скорость та же.
Жаль. Значит причина не в медленном копировании...
"квадратики расчета пролетают быстро" - это в смысле "быстрее, чем до убиения soffice" или "они и так всегда быстро пролетают"?
Цитата: And589 от 26 ноября 2013, 21:42
Т.е. если 500x20 ячеек, в каждой ))))))))))))))))))))))))))))))))))))) до 40, до ошибки 514, как бы программа из формул (смена фона STYLE, сдвиг, появление чисел относительно других, все с IF, COUNTIF), т.е. такие неправильные скрипты длинной кирпичной стеной из множества простых функций.
О, а вот это уже похоже на настоящую причину. Почему STYLE(), а не условное форматирование? Если мне не изменяет память, полная форма этой функции
STYLE("Стиль"; Время; "Стиль2"),
хотя обычно используется только короткая форма с одним именем стиля.
Тем не менее, давай подумаем, как это может быть реализовано внутри функции: отыскивается стиль по имени из первого параметра и применяется к ячейке, затем проверяется на существование второй параметр и запускается таймер на указанное количество секунд, проверяется на существование третий параметр и применяется указанный стиль, формируется результат функции "ноль" и возвращается в формулу ячейки... Всё, что написано после слова "затем" в твоей таблице не нужно. Однако оно есть и многократно выполняется для каждой из 10 000 копируемых ячеек и (иногда) для исходных ячеек.
Цитата: And589 от 26 ноября 2013, 21:42
Но разве макросами не дольше пересчет 500x20 ячеек?
Не дольше. Не всегда, но быстрее. Опять таки всё зависит от реализации алгоритма. Чем меньше времени на обдумывание задачи и решения потратил программист, тем дольше будет работать программа.
Цитата: And589 от 26 ноября 2013, 21:42
Или медленно только libreoffice basic, а другие быстрые? Т.е. имею в виду что сейчас время переноса всех 500x20 ячеек такое же как перенос одной пустой в другое место.
Есть мнение, что пересчет 1000 формул для 1000 ячеек обычно медленнее, чем пересчет одной формулы для той же 1000 ячеек. Речь идёт о "формулах массивов" - одна формула для целого диапазона ячеек. Возможно, при правильном конструировании формулы, удастся сократить время пересчета в разы... (Кажется, я трижды пропустил ноль в числительных?)
Переведи, плз, этот кусок насчет "время переноса всех 500x20 ячеек такое же как перенос одной пустой в другое место" - время задержки не зависит от количества перемещаемых формул? То есть, после каждого копирования пересчитывается весь лист?
Цитата: And589 от 26 ноября 2013, 21:42
1) Если так, то какой вы считаете лучше скриптовый язык выбрать для calc именно для смены 500x20 ячеек после изменения одного параметра, и чтобы общая перестройка ячеек не занимала по половине минуты на каждый перенос? Т.е. скрипт который образует что-то похожее на программу с постоянным изменением ячеек после изменения цифр.
Тот, с которым тебе самому будет проще, комфортнее работать. Если ни одного из доступных языков не знаешь, то лучше все-таки начать с "родного" StarBasic'а. Не потому, что он самый лучший, а потому, что большую часть скриптов, которые собираешься в нём писать, уже написали и опубликовали (ищи в Гугле по словам "Эндрю Питоньяк") - достаточно скопипастить готовую процедуру и задача почти решена.
Цитата: And589 от 26 ноября 2013, 21:42
2) Calc текущей версии везде вылетает по несколько раз в день, особенно после ctrl+z (назад)?
Причины могут быть разными - от криво установленной системы и приблудившихся вирусов до перекошенного пользовательского профиля и подгорающего железа.

Цитата: And589 от 26 ноября 2013, 21:42
3) Можно ли запускать в calc браузерное окно с URL и flash из Firefox без открытия Firefox?
Зачем? Это не сарказм, это реальный вопрос: зачем в электронной таблице изображение сайта?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

Я думал, мне уже все ответили, не заходил.
Цитировать"квадратики расчета пролетают быстро" - это в смысле "быстрее, чем до убиения soffice" или "они и так всегда быстро пролетают"?
Пролетают быстрее, но просчет тот же по времени.
ЦитироватьПереведи, плз, этот кусок насчет "время переноса всех 500x20 ячеек такое же как перенос одной пустой в другое место" - время задержки не зависит от количества перемещаемых формул? То есть, после каждого копирования пересчитывается весь лист?
Да после переноса пустой ячейки даже с другого листа, который пустой и без формул, время перетаскивания даже 1 ячейки такое же долгое, как в листе со множеством формул, т.е. все листы пересчитываются независимо где ячейка перемещена.
ЦитироватьЗачем? Это не сарказм, это реальный вопрос: зачем в электронной таблице изображение сайта?
Если например нужны графики, которые в интернете появляются изменяются каждый день, чтобы не открывать основной браузер, а чтобы было окно в документе, где только эти графики нужны, но это наверно слишком много, может и открытием браузера, просто было бы удобнее, хотя как можно открывать только часть страницы, или только flash элемент.

Можно еще 2 вопроса, 1) все настройки открывал, нигде не нашел, чтобы в Windows 7 Libreoffcie (только он) открывался разными значками в пуске, т.е. 2 открытых документа 2 значками, не суммировались. 2) Почему примечание теперь без изменения размера поля примечания, прежние примечания прошлых версий Libreoffice в большом поле, новые в очень маленьком поле.

Yakov

Цитата: And589 от  1 декабря 2013, 20:431) все настройки открывал, нигде не нашел, чтобы в Windows 7 Libreoffcie (только он) открывался разными значками в пуске, т.е. 2 открытых документа 2 значками, не суммировались
Это в настройках Windows 7 - "Свойства панели задач и меню Пуск" (открывается правая кнопка мышки на панели задач - и в меню выбираем "Свойства"). Но это действует на все программы, а не только на LO.

And589

ЦитироватьЯ думал, мне уже все ответили, не заходил.
Имею в виду, что я не забыл и зашел бы потом еще несколько раз проверить. На тот момент думал, что больше не будет ответов. Спасибо за ответы. Все таки в новом LO даже в новом документе, по нарастающей, чем больше формул, допустим в 100 ячейках, тем медленней перемещаются ячейки, даже одна пустая на новое место перемещается почти точно также как много ячеек с формулами, я не сравнивал как в прошлых версиях LO, но получается, что все ячейки переписываются, причем переписываются, даже если перемещаемая ячейка на пустом 2 листе, а ячейки с формулы на 1 листе, при этом перемещаемая ячейка никак не связана с формулами.

celler

And589, у актуального LO очень скромные возможности работы с большими таблицами и трудоёмкими операциями. А вот в LO 4.2 Beta у меня получилось в таблице со столбцом с миллионом формул переместить этот столбец на другое место менее чем за одну минуту. Так что подождём пару месяцев до выхода версии LO 4.2.

And589

Скажите пожалуйста, как копировать результат формул в нескольких ячейках, например, в 5 ячейках подряд цифры по формулам, но при копировании этой выделенной группы, копируются формулы, а не результат.

kompilainenn

Цитата: And589 от 23 декабря 2013, 21:56Скажите пожалуйста, как копировать результат формул в нескольких ячейках, например, в 5 ячейках подряд цифры по формулам, но при копировании этой выделенной группы, копируются формулы, а не результат.
выделить, скопировать, перенести активный ввод на нужное место, щелкнуть правой кнопкой мыши и там внизу контекстного меню будет "вставить только"-"числа"
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

And589

Цитироватьвыделить, скопировать, перенести активный ввод на нужное место, щелкнуть правой кнопкой мыши и там внизу контекстного меню будет "вставить только"-"числа"
Спасибо, я неточно задал вопрос, нужно выделить группу ячеек с формулами и копировать на другое место эти формулы без изменения номеров ячеек. Т.е. нужен точно такой же ряд ячеек с формулами ничем не отличающийся и выдающие такие же значения. Если копировать, то номер ячеек изменяется.

kompilainenn

перед ссылками на ячейку в формуле нужно ставить знак доллар $, т.е. формула =А2+С2 должна выглядеть как =$A$2+$C$2 и тогда при копировании ссылки останутся неизменными и результат ессно тоже
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Цитата: And589 от 11 января 2014, 19:50
нужно выделить группу ячеек с формулами и копировать на другое место эти формулы без изменения номеров ячеек. Т.е. нужен точно такой же ряд ячеек с формулами ничем не отличающийся и выдающие такие же значения. Если копировать, то номер ячеек изменяется.
Хотелось бы уточнить, формулы нужны точно те же самые, что и в исходных ячейках? Зачем? Обычной ссылки на исходную ячейку будет мало? Ну, в смысле, допустим, что в A20 записана формула =IF(COUNTIF(A1:A10;B20)>0;"2";"")
И нужно эту формулу один в один скопировать, скажем, в C37.
Почему нельзя в C37 написать просто =A20?
Если такое решение устраивает, то копируемый диапазон нужно вставлять через Ctrl+Shift+V с включённым флажком "Вставить связь"
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

And589

ЦитироватьЕсли такое решение устраивает, то копируемый диапазон нужно вставлять через Ctrl+Shift+V с включённым флажком "Вставить связь"
Спасибо, полностью подходит.

And589

В версии Libreoffice 4.2.0 RC скорость перемещения ячеек быстрее раза в 4, намного более удобно. Но странно, в формулах где есть учитывание "" (в ячейки ничего нет) теперь не учитывается и все формулы имеют неправильное отображение. Нужно чтобы в ячейках был не 0, а "", который учитывается в версии 4.1.4, несколько раз переходил на 4.2.0 RC для быстрого перемещения ячеек и возвращался на 4.1.4 для работающих формул, т.к. в 4.2.0 RC почти ни одна формула не действительна, даже после обновления ячеек с этими же формулами.