Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разбить текст формулой макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Разбить текст формулой макросом
grh1 Дата: Суббота, 26.10.2024, 13:18 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
Добрый день, уважаемые!

Подскажите пожалуйста формулы или макрос, которая разделит данные в строке!
К сообщению приложен файл: v_chat_rebjatam.xlsx (14.7 Kb)


Vadym Gorokh

Сообщение отредактировал grh1 - Суббота, 26.10.2024, 13:19
 
Ответить
СообщениеДобрый день, уважаемые!

Подскажите пожалуйста формулы или макрос, которая разделит данные в строке!

Автор - grh1
Дата добавления - 26.10.2024 в 13:18
i691198 Дата: Суббота, 26.10.2024, 16:56 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 110 ±
Замечаний: 0% ±

Здравствуйте. Посмотрите вариант с формулами.
К сообщению приложен файл: v_chat_rebjatam_1.xlsx (15.5 Kb)
 
Ответить
СообщениеЗдравствуйте. Посмотрите вариант с формулами.

Автор - i691198
Дата добавления - 26.10.2024 в 16:56
grh1 Дата: Суббота, 26.10.2024, 17:20 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, просто супер!!!
спасибо большое.


Vadym Gorokh
 
Ответить
Сообщениеi691198, просто супер!!!
спасибо большое.

Автор - grh1
Дата добавления - 26.10.2024 в 17:20
grh1 Дата: Суббота, 26.10.2024, 18:08 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, есть некорректность
посмотрите в самом начале слово Lesen (ну и ниже по списку) съедается первая буква...
Вместо Lesen получаем esen


Vadym Gorokh
 
Ответить
Сообщениеi691198, есть некорректность
посмотрите в самом начале слово Lesen (ну и ниже по списку) съедается первая буква...
Вместо Lesen получаем esen

Автор - grh1
Дата добавления - 26.10.2024 в 18:08
i691198 Дата: Суббота, 26.10.2024, 18:46 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 110 ±
Замечаний: 0% ±

Ну да, вижу. поправил формулу. Для ячейки Q5.
Код
=ЕСЛИОШИБКА(ЕСЛИ(P5<>"";ПСТР(A5;ПОИСК(P5;A5)+4;ПОИСК("—";A5)- ПОИСК(P5;A5)-5);ПСТР(A5;ПОИСК(".";A5)+2;ПОИСК("—";A5)- ПОИСК(".";A5)-3));"")
 
Ответить
СообщениеНу да, вижу. поправил формулу. Для ячейки Q5.
Код
=ЕСЛИОШИБКА(ЕСЛИ(P5<>"";ПСТР(A5;ПОИСК(P5;A5)+4;ПОИСК("—";A5)- ПОИСК(P5;A5)-5);ПСТР(A5;ПОИСК(".";A5)+2;ПОИСК("—";A5)- ПОИСК(".";A5)-3));"")

Автор - i691198
Дата добавления - 26.10.2024 в 18:46
grh1 Дата: Суббота, 26.10.2024, 20:20 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, чтобы не портить всю "композицию" формул, я просто переправил нумерацию с 1 по 9 добавив впереди ноль...
01
02
03
...
и т.д. и всё работает корректно с первоначальной формулой..

спасибо еще раз


Vadym Gorokh

Сообщение отредактировал grh1 - Суббота, 26.10.2024, 20:21
 
Ответить
Сообщениеi691198, чтобы не портить всю "композицию" формул, я просто переправил нумерацию с 1 по 9 добавив впереди ноль...
01
02
03
...
и т.д. и всё работает корректно с первоначальной формулой..

спасибо еще раз

Автор - grh1
Дата добавления - 26.10.2024 в 20:20
i691198 Дата: Суббота, 26.10.2024, 21:15 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 110 ±
Замечаний: 0% ±

чтобы не портить всю "композицию" формул
Что значит "не портить". Нужно вставить эту формулу в Q5 и протянуть ее до вниз, можно с запасом. Ваш способ - это кривой костыль, и при трехзначной нумерации опять будут ошибки - лишние символы.
 
Ответить
Сообщение
чтобы не портить всю "композицию" формул
Что значит "не портить". Нужно вставить эту формулу в Q5 и протянуть ее до вниз, можно с запасом. Ваш способ - это кривой костыль, и при трехзначной нумерации опять будут ошибки - лишние символы.

Автор - i691198
Дата добавления - 26.10.2024 в 21:15
grh1 Дата: Суббота, 26.10.2024, 21:35 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
Нужно вставить эту формулу в Q5

тире длинное выскакивает если использовать формулу, которую вы говорите


Vadym Gorokh
 
Ответить
Сообщение
Нужно вставить эту формулу в Q5

тире длинное выскакивает если использовать формулу, которую вы говорите

Автор - grh1
Дата добавления - 26.10.2024 в 21:35
grh1 Дата: Суббота, 26.10.2024, 21:46 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, да, Вы правы - это я не совсем корректно вставил формулу.
Спасибо


Vadym Gorokh
 
Ответить
Сообщениеi691198, да, Вы правы - это я не совсем корректно вставил формулу.
Спасибо

Автор - grh1
Дата добавления - 26.10.2024 в 21:46
i691198 Дата: Суббота, 26.10.2024, 21:56 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 110 ±
Замечаний: 0% ±

тире длинное выскакивает
Для данных из вашего примера не вижу никаких тире. Или это другие данные?
 
Ответить
Сообщение
тире длинное выскакивает
Для данных из вашего примера не вижу никаких тире. Или это другие данные?

Автор - i691198
Дата добавления - 26.10.2024 в 21:56
grh1 Дата: Воскресенье, 27.10.2024, 00:18 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, ответил сообщением выше...


Vadym Gorokh
 
Ответить
Сообщениеi691198, ответил сообщением выше...

Автор - grh1
Дата добавления - 27.10.2024 в 00:18
grh1 Дата: Четверг, 31.10.2024, 12:52 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
i691198, добрый день!
Подскажите пожалуйста, почему в строке 5 не корректно работает Ваша формула (когда я набрал текст руками, а не копировал)?
и как подправить формулу, если в тексте нет порядкового номера с точкой?

Спасибо

Файл прикрепил.
К сообщению приложен файл: vopros_forum.xlsx (11.7 Kb)


Vadym Gorokh
 
Ответить
Сообщениеi691198, добрый день!
Подскажите пожалуйста, почему в строке 5 не корректно работает Ваша формула (когда я набрал текст руками, а не копировал)?
и как подправить формулу, если в тексте нет порядкового номера с точкой?

Спасибо

Файл прикрепил.

Автор - grh1
Дата добавления - 31.10.2024 в 12:52
grh1 Дата: Четверг, 31.10.2024, 14:01 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
уважаемый i691198 наверно занят...
если кто может помочь с этим вопросом - буду благодарен.


Vadym Gorokh
 
Ответить
Сообщениеуважаемый i691198 наверно занят...
если кто может помочь с этим вопросом - буду благодарен.

Автор - grh1
Дата добавления - 31.10.2024 в 14:01
MikeVol Дата: Четверг, 31.10.2024, 15:27 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 81 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
grh1, Доброго времени суток. У меня так сработало
если в тексте нет порядкового номера с точкой
Код
=ЕСЛИОШИБКА(ПРОСМОТР(2; 1 / ЕЧИСЛО(ПОИСК({" das ":" der ":" die "}; " " & A10 & " ")); {"das":"der":"die"}); "")
По поводу
когда я набрал текст руками
не наблюдается проблема. Удачи.


Ученик.
Одесса - Украина
 
Ответить
Сообщениеgrh1, Доброго времени суток. У меня так сработало
если в тексте нет порядкового номера с точкой
Код
=ЕСЛИОШИБКА(ПРОСМОТР(2; 1 / ЕЧИСЛО(ПОИСК({" das ":" der ":" die "}; " " & A10 & " ")); {"das":"der":"die"}); "")
По поводу
когда я набрал текст руками
не наблюдается проблема. Удачи.

Автор - MikeVol
Дата добавления - 31.10.2024 в 15:27
grh1 Дата: Четверг, 31.10.2024, 15:59 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
MikeVol, Ваша формула где артикли das, die, der - работает корректно.
Но есть слова в столбце БЕЗ артикля, в моем примере это lieben  - любить, где слово lieben должно попасть в столбец L, а ячейка столбца К (куда попадают артикли) должна в этом случае остаться пустой.
А какова формула столбца L?


Vadym Gorokh
 
Ответить
СообщениеMikeVol, Ваша формула где артикли das, die, der - работает корректно.
Но есть слова в столбце БЕЗ артикля, в моем примере это lieben  - любить, где слово lieben должно попасть в столбец L, а ячейка столбца К (куда попадают артикли) должна в этом случае остаться пустой.
А какова формула столбца L?

Автор - grh1
Дата добавления - 31.10.2024 в 15:59
MikeVol Дата: Четверг, 31.10.2024, 16:44 | Сообщение № 16
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 81 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
grh1,
Код
=ЕСЛИОШИБКА(ЕСЛИ(K12 <> "";ПСТР(A12; ПОИСК(K12; A12) + ДЛСТР(K12) + 1; ПОИСК(" - "; A12 & " -") - ПОИСК(K12; A12) - ДЛСТР(K12) - 1);ПСТР(A12; 1; ПОИСК("  -"; A12 & "  -") - 1));"")
Обращайте внимание на " -", подправьте под себя.


Ученик.
Одесса - Украина


Сообщение отредактировал MikeVol - Четверг, 31.10.2024, 16:46
 
Ответить
Сообщениеgrh1,
Код
=ЕСЛИОШИБКА(ЕСЛИ(K12 <> "";ПСТР(A12; ПОИСК(K12; A12) + ДЛСТР(K12) + 1; ПОИСК(" - "; A12 & " -") - ПОИСК(K12; A12) - ДЛСТР(K12) - 1);ПСТР(A12; 1; ПОИСК("  -"; A12 & "  -") - 1));"")
Обращайте внимание на " -", подправьте под себя.

Автор - MikeVol
Дата добавления - 31.10.2024 в 16:44
grh1 Дата: Четверг, 31.10.2024, 17:00 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
MikeVol, тире и перевод не должно быть в столбце L



Что нужно подправить?


Vadym Gorokh
 
Ответить
СообщениеMikeVol, тире и перевод не должно быть в столбце L



Что нужно подправить?

Автор - grh1
Дата добавления - 31.10.2024 в 17:00
MikeVol Дата: Четверг, 31.10.2024, 17:25 | Сообщение № 18
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 81 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
grh1, Вы читает сообщения вообще??? Что там я выше написал???
" -", подправьте под себя.


Ученик.
Одесса - Украина
 
Ответить
Сообщениеgrh1, Вы читает сообщения вообще??? Что там я выше написал???
" -", подправьте под себя.

Автор - MikeVol
Дата добавления - 31.10.2024 в 17:25
grh1 Дата: Четверг, 31.10.2024, 17:54 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 233
Репутация: 0 ±
Замечаний: 40% ±

2019
MikeVol, я так понял, что всё-таки нужен макрос...
потому что ИНОГДА записи могут быть с разным расположением тире:
вася - петя (пробел после вася и пробел перед петя)
вася -петя (пробел после вася но нет пробела перед петя)
вася- петя (нет пробела после вася, но есть пробел перед петя)
вася-петя (нет пробела после вася и нет пробела перед петя)
вася - петя (два пробела после вася и есть один пробел перед петя)
ну и т.д.

то есть разные пробелы и формулой я так понял сделать корректную работу не получится.
Спасибо за помощь.


Vadym Gorokh
 
Ответить
СообщениеMikeVol, я так понял, что всё-таки нужен макрос...
потому что ИНОГДА записи могут быть с разным расположением тире:
вася - петя (пробел после вася и пробел перед петя)
вася -петя (пробел после вася но нет пробела перед петя)
вася- петя (нет пробела после вася, но есть пробел перед петя)
вася-петя (нет пробела после вася и нет пробела перед петя)
вася - петя (два пробела после вася и есть один пробел перед петя)
ну и т.д.

то есть разные пробелы и формулой я так понял сделать корректную работу не получится.
Спасибо за помощь.

Автор - grh1
Дата добавления - 31.10.2024 в 17:54
i691198 Дата: Четверг, 31.10.2024, 21:33 | Сообщение № 20
Группа: Проверенные
Ранг: Обитатель
Сообщений: 349
Репутация: 110 ±
Замечаний: 0% ±

grh1, Добрый вечер. В первом примере в тексте встречаются символы "неразрывный пробел"(код 160) и "длинное тире"(код 151). При написании формулы пришлось учесть этот момент. Например перед артиклями везде стоят неразрывные пробелы. В формуле столбца K заложен поиск артикля перед которым стоит неразрывный пробел, а после артикля обычный пробел. Пробелы нужны для того, чтобы исключить ложные срабатывания формулы. Например, если артикля нет, а в тексте имеются такие же сочетания букв, то формула без учета пробелов выведет неверный результат. На клавиатуре таких символов нет, и при ручном вводе вы используете обычный пробел и дефис, в результате формула не работает.
Если вы планируете вручную дополнять таблицу, я бы рекомендовал вам в существующих строках заменить эти символы на обычные и подправить формулы.
формулой я так понял сделать корректную работу не получится.
Я думаю, что получится, "причешите" ваш пример и приложите сюда. И подумайте - нужна вам нумерация, или нет. Нужно что то одно, не устраивайте сами себе бардак.


Сообщение отредактировал i691198 - Четверг, 31.10.2024, 21:35
 
Ответить
Сообщениеgrh1, Добрый вечер. В первом примере в тексте встречаются символы "неразрывный пробел"(код 160) и "длинное тире"(код 151). При написании формулы пришлось учесть этот момент. Например перед артиклями везде стоят неразрывные пробелы. В формуле столбца K заложен поиск артикля перед которым стоит неразрывный пробел, а после артикля обычный пробел. Пробелы нужны для того, чтобы исключить ложные срабатывания формулы. Например, если артикля нет, а в тексте имеются такие же сочетания букв, то формула без учета пробелов выведет неверный результат. На клавиатуре таких символов нет, и при ручном вводе вы используете обычный пробел и дефис, в результате формула не работает.
Если вы планируете вручную дополнять таблицу, я бы рекомендовал вам в существующих строках заменить эти символы на обычные и подправить формулы.
формулой я так понял сделать корректную работу не получится.
Я думаю, что получится, "причешите" ваш пример и приложите сюда. И подумайте - нужна вам нумерация, или нет. Нужно что то одно, не устраивайте сами себе бардак.

Автор - i691198
Дата добавления - 31.10.2024 в 21:33
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!