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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование цифр в числа из определенного текста - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Преобразование цифр в числа из определенного текста
Snegovik Дата: Суббота, 30.03.2019, 17:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, товарищи.
У меня вопрос.

Есть формула которая извлекает из текстовой строки -числа, идущие после кодового слова (из столбца C) и разделенные дефисом.
Если слово состоит всего из трех букв - то формула извлекает цифры и преобразовывает их в число - нормально (в ячейки D5 и E5).

Код
=--ПСТР(D3;ПОИСК(C5;D3)+3;ПОИСК("-";D3;ПОИСК(C5;D3))-ПОИСК(C5;D3)-3)/(10^(ДЛСТР(ПСТР(D3;ПОИСК(C5;D3)+3;ПОИСК("-";D3;ПОИСК(C5;D3))-ПОИСК(C5;D3)-3))-1))

Код
=--ПСТР(D3;ПОИСК("-";D3;ПОИСК(C5;D3))+1;ПОИСК(" ";D3;ПОИСК("-";D3;ПОИСК("TWZ";D3)))-ПОИСК("-";D3;ПОИСК(C5;D3))-1)/(10^(ДЛСТР(ПСТР(D3;ПОИСК("-";D3;ПОИСК(C5;D3))+1;ПОИСК(" ";D3;ПОИСК("-";D3;ПОИСК(C5;D3)))-ПОИСК("-";D3;ПОИСК(C5;D3))-1))-1))

А если слово состоит больше чем из 3 букв - то уже подобную операцию - формула не проводит. Выдает ошибку.

Ответьте, если кто знает - как это исправить ?
Чтобы формула извлекала и преобразовывала цифры в числа - для ключевых слов любой длины.
К сообщению приложен файл: 11.xls (29.0 Kb)
 
Ответить
СообщениеЗдравствуйте, товарищи.
У меня вопрос.

Есть формула которая извлекает из текстовой строки -числа, идущие после кодового слова (из столбца C) и разделенные дефисом.
Если слово состоит всего из трех букв - то формула извлекает цифры и преобразовывает их в число - нормально (в ячейки D5 и E5).

Код
=--ПСТР(D3;ПОИСК(C5;D3)+3;ПОИСК("-";D3;ПОИСК(C5;D3))-ПОИСК(C5;D3)-3)/(10^(ДЛСТР(ПСТР(D3;ПОИСК(C5;D3)+3;ПОИСК("-";D3;ПОИСК(C5;D3))-ПОИСК(C5;D3)-3))-1))

Код
=--ПСТР(D3;ПОИСК("-";D3;ПОИСК(C5;D3))+1;ПОИСК(" ";D3;ПОИСК("-";D3;ПОИСК("TWZ";D3)))-ПОИСК("-";D3;ПОИСК(C5;D3))-1)/(10^(ДЛСТР(ПСТР(D3;ПОИСК("-";D3;ПОИСК(C5;D3))+1;ПОИСК(" ";D3;ПОИСК("-";D3;ПОИСК(C5;D3)))-ПОИСК("-";D3;ПОИСК(C5;D3))-1))-1))

А если слово состоит больше чем из 3 букв - то уже подобную операцию - формула не проводит. Выдает ошибку.

Ответьте, если кто знает - как это исправить ?
Чтобы формула извлекала и преобразовывала цифры в числа - для ключевых слов любой длины.

Автор - Snegovik
Дата добавления - 30.03.2019 в 17:11
Karataev Дата: Суббота, 30.03.2019, 17:48 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Для "D5":
Код
=--ЗАМЕНИТЬ(ПСТР($D$3;ПОИСК(C5;$D$3)+ДЛСТР(C5);ПОИСК("-";$D$3;ПОИСК(C5;$D$3))-ПОИСК(C5;$D$3)-ДЛСТР(C5));1;1;"0,")

Для "E5":
Код
=--ЗАМЕНИТЬ(ПСТР($D$3;ПОИСК("-";$D$3;ПОИСК(C5;$D$3))+1;ПОИСК(" ";$D$3&" ";ПОИСК("-";$D$3;ПОИСК(C5;$D$3)))-ПОИСК("-";$D$3;ПОИСК(C5;D$3)));1;1;"0,")
 
Ответить
СообщениеДля "D5":
Код
=--ЗАМЕНИТЬ(ПСТР($D$3;ПОИСК(C5;$D$3)+ДЛСТР(C5);ПОИСК("-";$D$3;ПОИСК(C5;$D$3))-ПОИСК(C5;$D$3)-ДЛСТР(C5));1;1;"0,")

Для "E5":
Код
=--ЗАМЕНИТЬ(ПСТР($D$3;ПОИСК("-";$D$3;ПОИСК(C5;$D$3))+1;ПОИСК(" ";$D$3&" ";ПОИСК("-";$D$3;ПОИСК(C5;$D$3)))-ПОИСК("-";$D$3;ПОИСК(C5;D$3)));1;1;"0,")

Автор - Karataev
Дата добавления - 30.03.2019 в 17:48
Светлый Дата: Суббота, 30.03.2019, 18:04 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1871
Репутация: 538 ±
Замечаний: 0% ±

Excel 2013, 2016
Здравствуйте!
Код
=--ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(ПСТР(D$3;ПОИСК(C5;D$3);9);ПОИСК("-";ПСТР(D$3;ПОИСК(C5;D$3);9))-1);C5&0;ЛЕВБ(1/2;2));C5;)
Код
=-ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(D$3;ПОИСК("-";D$3;ПОИСК(C5;D$3));9);"-0";ЛЕВБ(-1/2;3));" ";"       ");9)
*Первую можно заменить на:
Код
=-ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(D$3;ПОИСК("-";D$3;ПОИСК(C5;D$3))-9;9);C5;"      -");"-0";ЛЕВБ(-1/2;3));9)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Суббота, 30.03.2019, 18:30
 
Ответить
СообщениеЗдравствуйте!
Код
=--ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(ПСТР(D$3;ПОИСК(C5;D$3);9);ПОИСК("-";ПСТР(D$3;ПОИСК(C5;D$3);9))-1);C5&0;ЛЕВБ(1/2;2));C5;)
Код
=-ЛЕВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(D$3;ПОИСК("-";D$3;ПОИСК(C5;D$3));9);"-0";ЛЕВБ(-1/2;3));" ";"       ");9)
*Первую можно заменить на:
Код
=-ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(D$3;ПОИСК("-";D$3;ПОИСК(C5;D$3))-9;9);C5;"      -");"-0";ЛЕВБ(-1/2;3));9)

Автор - Светлый
Дата добавления - 30.03.2019 в 18:04
Snegovik Дата: Суббота, 30.03.2019, 22:28 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Светлый, Karataev, спасибо за ответы.
 
Ответить
СообщениеСветлый, Karataev, спасибо за ответы.

Автор - Snegovik
Дата добавления - 30.03.2019 в 22:28
  • Страница 1 из 1
  • 1
Поиск:

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