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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 »   Вниз
  Печать  
Автор Тема: Объединение текста в одну строку по условию.  (Прочитано 8969 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #15: 22 Март 2019, 16:46 »

Наверное, как-то так...
Не подскажете, как заставить работать макрос, если в строке только порядок цифр, т.е. вообще без префикса (6, 7, 8) ?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #16: 22 Март 2019, 16:55 »

Второй вопрос подряд и второй раз невнятный.
В первый раз хоть какая-то попытка привести пример была (хоть и без суффиксов, но хоть что-то).
Теперь речь о порядках цифр...

ФАЙЛ С ПРИМЕРОМ ГДЕ? ГДЕ НАПИСАНО "ЕСТЬ ВОТ ЭТО, НУЖНО ПОЛУЧИТЬ ВОТ ТАКОЕ"?

Рядом с полем для сообщения, слева - РЕКОМЕНДАЦИЯ
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #17: 24 Март 2019, 01:29 »

Второй вопрос подряд и второй раз невнятный
Пардон за невнятность, но вопрос предельно простой:
ряд цифр "6, 7, 8, 10" сократить до "6-8, 10"
без префиксов, суффиксов и т.д.
не сокращает
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #18: 24 Март 2019, 09:57 »

Ответ на этот не такой уж и простой вопрос был дан приблизительно 10 лет назад. Не уверен, что то решение всё ещё работает, нужно проверить.
Предлагаю обмен: ты всё-таки выкладываешь файл-образец с тестовыми данными и пояснениями откуда что брать и куда в каком виде поместить результат, а я через некоторое время верну этот же файл с решением
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #19: 24 Март 2019, 10:31 »

А если в EXCELе накидаю пример адаптирую Ваш макрос под него и ещё один подобный туда кидану – можно? у меня OpenOffice просто только на работе установлен...
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #20: 24 Март 2019, 10:48 »

EXCELе ... адаптирую Ваш макрос под него ...
Не думаю, что какая-то "адаптация" может понадобиться - код практически универсальный, "чистый Бэйсик" без учёта особенностей разных офисов
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #21: 24 Март 2019, 11:39 »

И так:
в примере ExCel два подобных макроса – Ваш макрос на странице "comprsStr" и сторонний макрос "fComprStr"
сторонний макрос, в принципе, делает всё тоже самое, но не может проверять более двух элементов подряд ("QF1, QF2" воспроизводится как QF1-QF2"). На сколько я понял – необходимо добавить условие проверки периода (в районах строк 23 и 33), буду признателен, если поможете в этом.
Также сторонний макрос распознает  два периода и соединяет их в один по двум крайним одинаковых значениям, например:
QF1, QF2, QF3, QF5-QF12, QF13-QF19, QF21
преобразовать в:
QF1-QF3, QF5-QF19, QF21
Очень удобно.

Ваш макрос прекрасно работает, если в строке есть префиксы, но у меня не получается его заставить работать без префиксов вообще. И ещё, я его в начале немного изменил – задал значения сепараторов и префикса по умолчанию, иначе их обязательно необходимо было вбивать в формулу.

Классно было бы сделать один полностью работающий макрос.

Что не может делать ни один макрос, и какая задача сейчас стоит передо мною – это строку 1-2, 2-3, 4-5 привести к значению 1-3, 4-5 (т.е. объединить только те периоды, крайние значения которых совпадают, при этом в строке будут только периоды, без единичных значений) – вот это мой главный вопрос на текущий момент. Может быть добавить переменную, при наличии которой макрос будет объединять периоды только с пересекающимися значениями, или сделать отдельный макрос…

Буду рад Вашей помощи.

P.S. пришлось сохранить в формате *.xls – запрет на загрузку формата "*.xlsm" )))

* периоды.xls (59.5 Кб - загружено 0 раз.)
« Последнее редактирование: 25 Март 2019, 09:26 от kl33 » Записан
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #22: 24 Март 2019, 11:53 »

Да. и если получиться сделать код для приведения строки 1-2, 2-3, 4-5 к значению 1-3, 4-5 по совпадают крайних значений, было бы так же очень хорошо, чтобы это были любые символы, буквы цифры. т.е.:

1а-2б, 2б-3в, 4г-5д → 1а-3в, 4г-5д
а-б, б-в, г-д → а-в, г-д

Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #23: 24 Март 2019, 12:00 »

О суффиксах больше речь не идёт?
Также сторонний макрос распознает  два периода и соединяет их в один по двум крайним одинаковых значениям, например:
QF1, QF2, QF3, QF5-QF12, QF13-QF19, QF21
преобразовать в:
QF1-QF3, QF5-QF19, QF21
Как поступать с "QF1, QF2, QF4"? Оставлять как есть или показывать диапазон как "QF1-QF2, QF4"? (Спрашиваю потому что дальше в твоих примерах появляются диапазоны вида "1-2" и "4-5")
Может быть добавить переменную, при наличии которой макрос будет объединять периоды только с пересекающимися значениями, или сделать отдельный макрос…
Эту фразу вообще не понял. Переведи. Или напиши другими словами, или поясни примером.
запрет на загрузку формата "*.xlsm"
На будущее - есть ещё и ZIP, в который можно упаковать всё, что не принимается к загрузке

Да. и если получиться сделать код для приведения строки 1-2, 2-3, 4-5 к значению 1-3, 4-5 по совпадают крайних значений, было бы так же очень хорошо, чтобы это были любые символы, буквы цифры. т.е.:
1а-2б, 2б-3в, 4г-5д → 1а-3в, 4г-5д
а-б, б-в, г-д → а-в, г-д
Ага, значит с суффиксами всё-таки...
Не понял насчёт "приведения строки 1-2, 2-3, 4-5 к значению 1-3, 4-5"... Почему не к "1-5"? Или это уже с учётом 3в и 4г?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #24: 24 Март 2019, 12:22 »

по поводу с суфиксами или без и приведению строки 1-2, 2-3, 4-5 к значению 1-3, 4-5:
стоит две разные задачи:
первая задача - это объединение номеров точечных объектов (в моем случае – опор) приведенных в строке через запятую. Например если выведена строка с перечислением номеров опор:
1, 2, 3, 7-9, 10, 13
то корректно их объединить в строку:
1-3, 7-10, 13
В этом случае удобна возможность использовать префиксы, например если порядок будет иметь следующий вид:
№1, №2, №3, №7-№9,  №10, №13
Это на данный момент реализовано. И не плохо было бы иметь возможность использовать суффиксы, если порядок будет следующим:
№1, №2а, №3б, №7-№9в,  №10, №13
Но суффиксы – то забаганка. можно обойтись если формула очень сложной выйдет.
вторая задача - это объединение номеров линейных объектов (в моем случае – пролетов между опорами) приведенных в строке через запятую. Например если выведена строка с перечислением номеров пролетов:
1-2, 2-3, 3-4, 5-6
Означает что речь идет о пролетах, между опорами №№1-4 и №№5-6, а в пролете №№4-5 никаких работ не производится.
Вот, как следствие и ряд необходимо вывести следующий:
1-4, 5-6
Ну и, соответственно, наименования так же могут быть и с префиксами и с суффиксами, но так как здесь наверное проще - не надо высчитывать порядковые числа а лишь объединить периоды по совпадению крайних значений, то не плохо было бы во втором случае вообще отказаться от привязки к префиксам и суффиксам а лишь соединить период по идентичным значениям.

как-то так...
« Последнее редактирование: 24 Март 2019, 12:46 от kl33 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #25: 24 Март 2019, 17:00 »

Перечитал эту фразу, много думал...
у меня OpenOffice просто только на работе установлен...
Какой OpenOffice? Почему дома нет?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #26: 24 Март 2019, 17:46 »

а зачем он мне дома то нужен?? ))
excel на голову выше любого бесплатного аналога!
если я могу дома установить ломаную версию полноценного офиса и преспокойно работать на нем дома – ну зачем мне бесплатные аналоги?
А на работе администратор по программному обеспечению – у того свои заморочки, лицензионное ПО либо бесплатные аналоги.
Записан
kompilainenn
Мастер
*****
Online Online

Сообщений: 2 718



« Ответ #27: 24 Март 2019, 18:11 »

excel на голову выше любого бесплатного аналога!
приведите пример, пожалуйста
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #28: 24 Март 2019, 18:29 »

Самое первое, что в голову приходит – удачно реализованное условное форматирование. Т.е. я могу формировать отображение таблиц, границ текста исходя из его формульного наполнения. При том, это в первую очередь относится к 2010й и более поздней версии, в 2007 условное форматирование тоже работает не очень хорошо.
ну и вообще, есть огромное количество разных ништячных формул, шикарно работающих на внутреннем алгоритме excel.
пример прикрепляю.

Записан
kl33
Участник
**
Offline Offline

Сообщений: 25



« Ответ #29: 24 Март 2019, 18:39 »

и, кстати, я сейчас провожу все эти манипуляции: открываю excel, просматриваю код, просматриваю свои закладки с удачными формулами или макросами – пальцами на тачскрине 8-ми дюймового планшета. ExCel вполне позволяет это всё делать, распознает тач-жесты. Это не работа за мышкой с клавиатурой, но вполне приемлемо. А на бесплатных офисных приложениях такое делать возможно?
« Последнее редактирование: 24 Март 2019, 18:41 от kl33 » Записан
Страниц: « 1 2 3 4 »   Вверх
  Печать  
 
Перейти в:  

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