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

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

30 Май 2020, 16:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Сообщений: 13


« Стартовое сообщение: 11 Апрель 2020, 17:49 »

Доброй день!

Помогите кто может: Есть столбец с текстовыми значениями подобного типа

120069080000100001000
120069080000100002008
120069080000100003006
120069080000100004009
120069080000100005007
120069080000100007005
120069080000100008001
120069080000100011003
120069080000100012005

в каждой из ячеек нужно отбросить последние три символа, из оставшегося текста взяв последние 5 символов преобразовать их в натуральное число - получится столбец из чисел:
1
2
3
4
5
7
8
11
12

нужно в этом столбце найти пропущенные порядковые номера, например для данного примера пропущенные номера будут 6, 9, 10.
Это видимо можно сделать только макросом?

* 1.ods (10.79 Кб - загружено 4 раз.)
« Последнее редактирование: 12 Апрель 2020, 01:02 от zoldato55 » Записан
mikekaganski
Гуру
*******
Offline Offline

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


« Ответ #1: 11 Апрель 2020, 17:53 »

Что значит "найти"? куда-то записать? показать диалог? подсветить идущие неподряд ячейки?
Записан

С уважением,
Михаил Каганский
zoldato55
Участник
**
Offline Offline

Сообщений: 13


« Ответ #2: 11 Апрель 2020, 17:55 »

Что значит "найти"? куда-то записать? показать диалог? подсветить идущие неподряд ячейки?

Записать в отдельный столбец, или через запятую в одну строчку.
Записан
mikekaganski
Гуру
*******
Offline Offline

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


« Ответ #3: 11 Апрель 2020, 17:57 »

А, ну тогда да, макросом...
Записан

С уважением,
Михаил Каганский
zoldato55
Участник
**
Offline Offline

Сообщений: 13


« Ответ #4: 11 Апрель 2020, 17:59 »

А, ну тогда да, макросом...

Поможете?
Записан
Bigor
Мастер
*****
Offline Offline

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


« Ответ #5: 11 Апрель 2020, 19:16 »

По данному примеру можно и формулой Улыбка

Код:
=TEXTJOIN(",";1;IF(C1:C8+1<>C2:C9;(C1:C9)+1;"");IF(C2:C9-1<>C1:C8;(C2:C9)-1;""))

* for_zold1.ods (10.56 Кб - загружено 5 раз.)
Записан

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

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


« Ответ #6: 11 Апрель 2020, 19:26 »

Так можно даже без повтора ...

Код:
=TEXTJOIN(",";1;IF(C2:C9-C1:C8>1;(C1:C9)+1;"");IF(C2:C9-C1:C8>2;(C2:C9)-1;""))

... но при разрыве в 3 и больше уже правильно не сработает.
Записан

С уважением,
Михаил Каганский
zoldato55
Участник
**
Offline Offline

Сообщений: 13


« Ответ #7: 12 Апрель 2020, 00:41 »

Что-то не пойму как обе формулы работают - показывают "#ЗНАЧ!".


* Не_понятно.jpg (97.64 Кб, 875x394 - просмотрено 12 раз.)
* 1.ods (12.16 Кб - загружено 3 раз.)
« Последнее редактирование: 12 Апрель 2020, 00:49 от zoldato55 » Записан
kompilainenn
Мастер
*****
Offline Offline

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



« Ответ #8: 12 Апрель 2020, 00:50 »

Наверное функции на русском включены?
Записан

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

Сообщений: 13


« Ответ #9: 12 Апрель 2020, 00:59 »

Наверное функции на русском включены?

вы про настройку в параметрах "Использовать английские имена функций"? переключал ее и так и эдак - все равно ошибка в формуле видимо...
Записан
zoldato55
Участник
**
Offline Offline

Сообщений: 13


« Ответ #10: 12 Апрель 2020, 01:11 »

Сорян всем - чет туплю - не увидел готовый файлик "for_zold1.ods"...
Работает частично, как Вы и говорили - не работает при больших разрывах в нумерации.

Во вложении пример - выделил красным как должно быть при больших разрывах.

* for_zold2.ods (11.87 Кб - загружено 7 раз.)
Записан
Bigor
Мастер
*****
Offline Offline

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


« Ответ #11: 12 Апрель 2020, 10:38 »

Можно и дальше поизвращаться с формулами Улыбка
Ищет до 10 пропусков, легко расширяется
Код:
=TEXTJOIN(",";1;IF(C2:C9-C1:C8>1;IF({1;2;3;4;5;6;7;8;9;10}<C2:C9-C1:C8;(C1:C8)+{1;2;3;4;5;6;7;8;9;10};"");""))


Что-то не пойму как обе формулы работают - показывают "#ЗНАЧ!".

Формулы массивные, вводятся тремя кнопками Ctrl+Shift+Enter
Записан

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

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


« Ответ #12: 12 Апрель 2020, 11:11 »

Здорово!

Упрощение:
Код:
=TEXTJOIN(",";1;IF(C2:C9-C1:C8>{1;2;3;4;5;6;7;8;9;10};C1:C8+{1;2;3;4;5;6;7;8;9;10};""))

Жаль, нет сортировки.
Записан

С уважением,
Михаил Каганский
zoldato55
Участник
**
Offline Offline

Сообщений: 13


« Ответ #13: 12 Апрель 2020, 14:37 »

Да, точно последние формулы работают - большое Спасибо за них (особенно про комбинацию клавиш Ctrl+Shift+Enter - не знал, что так нужно).
Можно еще попросить - кто может добавить:
1) какое-то универсальное решение по расширению диапазона разрывов  - немного проблематично если там пропуск в 500 или 3000 штук например.
2) с сортировкой действительно было бы круто.
Записан
Bigor
Мастер
*****
Offline Offline

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


« Ответ #14: 12 Апрель 2020, 15:21 »

Выжимаем формулы дальше Улыбка
В принципе любой пропуск, меняем диапазон а1:а10, на необходимый
Код:
=TEXTJOIN(",";1;IF(C2:C9-C1:C8>TRANSPOSE(ROW(A1:A10));C1:C8+TRANSPOSE(ROW(A1:A10)));"")
С сортировкой пока никак Грустный
Добил и сортировку, и теперь даже не массивная
Код:
=TEXTJOIN(",";1;TRANSPOSE(IF(C2:C9-C1:C8>TRANSPOSE(ROW(A1:A10));C1:C8+TRANSPOSE(ROW(A1:A10));"")))
« Последнее редактирование: 12 Апрель 2020, 21:17 от Bigor » Записан

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут
Страниц: 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!