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

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

21 Июль 2018, 02:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Распределение текста по столбцам с помощью макросов  (Прочитано 1217 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Duracell
Новичок
*
Offline Offline

Сообщений: 17


« Стартовое сообщение: 11 Январь 2018, 13:30 »

Доброго времени суток. Привет всем. У меня такая задача: есть текст, который нужно разбить по столбцам на другом листе. Я вложил файл, там все четко и ясно Улыбка

* Macros.ods (15.13 Кб - загружено 15 раз.)
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 901


« Ответ #1: 11 Январь 2018, 14:16 »

Макросов здесь не надо, формулами, можно прямо на этом же листе (вложение).
После копирования формул - можно включить автофильтр и получить нужную таблицу.

* Macros - Формулами.ods (12.06 Кб - загружено 16 раз.)
Записан

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

Сообщений: 17


« Ответ #2: 11 Январь 2018, 14:36 »

Видимо вы не поняли задачи, они ведь находятся в разных ячейках, так не получится как вы говорите
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 901


« Ответ #3: 12 Январь 2018, 10:42 »

Но у меня ведь получилось (вложение в #1, см. столбцы J:M)! 

Это называется трансформация таблицы формулами с относительными ссылками - таблица в "столбик" - превращается в "нормализованную" таблицу, где одна запись - одна строка.

Формулы можно скопировать в начало каждой "секции" из 10 строк очень быстро, быстрее чем написать макрос.
Их даже можно накопировать до 1 млн-ной строки, чтобы хватило на несколько лет. Дел - на 10 минут, не более.
Записан

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

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


« Ответ #4: 12 Январь 2018, 14:12 »

Начните с формулы
Код:
=TEXTJOIN(" ";TRUE();OFFSET($Входные.$1:$1;(ROW()-1)*10+COLUMN()-1;0))
в ячейках A1:I2 на листе результатов. Там ещё пока есть заголовки в каждой ячейке, но это можно сделать дальше.
Записан

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

Сообщений: 17


« Ответ #5: 12 Январь 2018, 14:38 »

Благодарю за ответ. Вы на верном пути, однако textjoin это в excel. Я уже сделал без макроса формулой, через =concatenate и вставил по столбцам. Однако если у меня будет 500к строк, тогда боюсь компуктер мой не выдержит, и формулы подвиснут. Поэтому я и прошу у Вас варианты через макросы.
Записан
mikekaganski
Ветеран
*****
Online Online

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


« Ответ #6: 12 Январь 2018, 14:40 »

Эксель??? Это ЛО.
Записан

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

Сообщений: 17


« Ответ #7: 12 Январь 2018, 14:47 »

Я не знаю, я впервые слышу о такой формуле =textjoin, у меня в калке оно не высвечиватся как формула, и в гугле пишу такого нет в ЛО. НО не в этом суть, формулой у меня работает все уже на ура, дело в том что макросы я очень плохо знаю, а мне как раз нужно с их помощью выполнить это задание, ибо формулами будет виснуть комп
Записан
Bigor
Старожил
****
Offline Offline

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


« Ответ #8: 12 Январь 2018, 14:50 »

выложи таблицу с формулами, по ней попробую сделать макрос. А то по твоему примеру
хз куда женщин девать Улыбка
« Последнее редактирование: 12 Январь 2018, 14:56 от Bigor » Записан
kompilainenn
Ветеран
*****
Offline Offline

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



« Ответ #9: 12 Январь 2018, 14:53 »

Я не знаю, я впервые слышу о такой формуле =textjoin, у меня в калке оно не высвечиватся как формула, и в гугле пишу такого нет в ЛО
версия офиса? TEXTJOIN в LibreOffice 5.2 появилась

https://i.imgur.com/twFJEJG.png
« Последнее редактирование: 12 Январь 2018, 14:57 от kompilainenn » Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
mikekaganski
Ветеран
*****
Online Online

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


« Ответ #10: 12 Январь 2018, 15:00 »

выложи таблицу с формулами, по ней попробую сделать макрос. А то по твоему примеру
хз куда женщин девать Улыбка

Формула дана в #5. Там просто нужно ещё из строки убрать всё до первого двоеточия включительно.
Записан

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

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


« Ответ #11: 12 Январь 2018, 15:03 »

Формула дана в #5
Это твоя формула Улыбка В ней женщины тож в чемпионат попадают. Я хочу таблицу от автора
Я уже сделал без макроса формулой, через =concatenate и вставил по столбцам
что бы самому не думать куда что вставлять
« Последнее редактирование: 12 Январь 2018, 15:05 от Bigor » Записан
mikekaganski
Ветеран
*****
Online Online

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


« Ответ #12: 12 Январь 2018, 15:06 »

Женщины должны попадать в чемпионат. (Или у нас неравенство??? ;-) ) Проблема была в том, что в первом ответе название чемпионата ограничивалось единственным словом "женщины".
Записан

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

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


« Ответ #13: 12 Январь 2018, 15:10 »

ТС виднее куда женщины должны попасть Улыбка да и мне  =concatenate проще в макросе описать, чем =TEXTJOIN Улыбка
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #14: 12 Январь 2018, 15:53 »

Формулами может и можно, но будет очень не просто.

Вот вариант с макросом:

P.S. первый вариант работал, но не на российской локали. Переписал, работает на разных локалях, пробуйте. Обратите внимание на красные ячейки.

* Macros1.ods (14.26 Кб - загружено 7 раз.)
Записан

Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

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