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

Вход

Регистрация

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

 

= Мир MS Excel/Отсечение части текста - Мир MS Excel

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

В ячейке находится текстовая строка вида a/b/c, где a, b и c — натуральные числа до 99, например 2/16/45 или 12/6/3. Нужно привести ее к виду a/b. Экспериментировал с ДЛСТР, ПОИСК и прочим, но мозгов не хватило на такую простую задачу. :(


Сообщение отредактировал DrRoy - Понедельник, 03.11.2014, 03:40
 
Ответить
СообщениеВ ячейке находится текстовая строка вида a/b/c, где a, b и c — натуральные числа до 99, например 2/16/45 или 12/6/3. Нужно привести ее к виду a/b. Экспериментировал с ДЛСТР, ПОИСК и прочим, но мозгов не хватило на такую простую задачу. :(

Автор - DrRoy
Дата добавления - 03.11.2014 в 03:39
AndreTM Дата: Понедельник, 03.11.2014, 04:18 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Где файл с примером? :)

Впрочем, всё достаточно просто - нам надо взять начало строки до второго слэша.
Мы можем просто найти нужную позицию:
Код
=ЛЕВБ(A1;ПОИСК("/";A1;ПОИСК("/";A1)+1)-1)
Или можем заменить нужный слэш на другой символ (точно не имеющийся в тексте ДО нужного места) - и найти уже его позицию:
Код
=ЛЕВБ(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";2))-1)
Или, учитывая ваше уточнение про "натуральные числа до 99" - упростить первую формулу (ведь в этом случае первый слэш не может стоять дальше третьей позиции, а второй - ранее четвёртой):
Код
=ЛЕВБ(A1;ПОИСК("/";A1;4)-1)
К сообщению приложен файл: 2-13946-1-1.xls (15.0 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеГде файл с примером? :)

Впрочем, всё достаточно просто - нам надо взять начало строки до второго слэша.
Мы можем просто найти нужную позицию:
Код
=ЛЕВБ(A1;ПОИСК("/";A1;ПОИСК("/";A1)+1)-1)
Или можем заменить нужный слэш на другой символ (точно не имеющийся в тексте ДО нужного места) - и найти уже его позицию:
Код
=ЛЕВБ(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";2))-1)
Или, учитывая ваше уточнение про "натуральные числа до 99" - упростить первую формулу (ведь в этом случае первый слэш не может стоять дальше третьей позиции, а второй - ранее четвёртой):
Код
=ЛЕВБ(A1;ПОИСК("/";A1;4)-1)

Автор - AndreTM
Дата добавления - 03.11.2014 в 04:18
DrRoy Дата: Понедельник, 03.11.2014, 04:31 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Спасибо, действительно просто и элегантно. Не догадался, что поиск можно вложить в другой поиск.
 
Ответить
СообщениеСпасибо, действительно просто и элегантно. Не догадался, что поиск можно вложить в другой поиск.

Автор - DrRoy
Дата добавления - 03.11.2014 в 04:31
  • Страница 1 из 1
  • 1
Поиск:

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