Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2011, 18:46   #1
ingvi
 
Регистрация: 26.10.2011
Сообщений: 7
По умолчанию Извлечение чисел из строки или как переформатировать нестандартную дату(время))

Здравствуйте, уважаемые форумчане! Будьте добры помочь в небольшой проблеме, возникшей в ее решении. Допустим в ячейке А1 мы имеем:
6 дн. 10 ч. 46 мин.
Необходимо, чтобы в ячейке В1 выглядела она следующим образом:
6:10:46
Так в этом опыта совсем мало, пробовала делать при помощи функций левсимв, правсимв, пстр, заменить, но из этого ничего хорошего не получалось.. в VBA совсем не смыслю, если будет вариант решения в нем, буду только за. В принципе меня любой вариант устроит.
ingvi вне форума Ответить с цитированием
Старый 26.10.2011, 19:51   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: rar КнигаR725.rar (5.5 Кб, 16 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.10.2011, 20:01   #3
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Если у Вас в А1 текст в виде 6 дн. 10 ч. 46 мин., то преобразовать его к нормальному виду дата/время можно формулой:
Код:
=ЛЕВСИМВ(A1;ПОИСК(" дн.";A1)-1)+ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК(" дн.";A1)+5;13);" ч. ";":");" мин.";)
а дальше уже применить форматы, которые предложил IgorGO или формат "Д ЧЧ:ММ"
MCH вне форума Ответить с цитированием
Старый 26.10.2011, 20:17   #4
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Если текст нужен, то можно так:
Код:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" дн. ";":");" ч. ";":");" мин.";)
ЗЫ Игорь, у меня твоё вложение крякозябрами открывается...
Вложения
Тип файла: rar ingvi.rar (3.5 Кб, 14 просмотров)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 26.10.2011, 20:32   #5
ingvi
 
Регистрация: 26.10.2011
Сообщений: 7
Хорошо

IgorGO, MCH, Serge 007 СПАСИБО огромное вам!!! Очень помогли!
ingvi вне форума Ответить с цитированием
Старый 27.10.2011, 12:11   #6
ingvi
 
Регистрация: 26.10.2011
Сообщений: 7
Восклицание

[QUOTE=Serge 007;902359]Если текст нужен, то можно так:
Код:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" дн. ";":");" ч. ";":");" мин.";)
Используя эту формулу при помощи ЗНАЧЕН(А1) преобразовала строку текста в число, тем самым получился формат даты. НО! есть такие ячейки, где такое содержимое:
0 ч. 15 мин.
при формировании даты он естественно выдает 0:15:00, т.е 0 дней 15 часов 00 минут.
Какое правило вписать в правило указанное выше, чтобы могло выводится значение 0:00:15, помогите, пожалуйста!!???
Пробовала использовать условие если, поиск, етекст.

Последний раз редактировалось ingvi; 27.10.2011 в 12:18.
ingvi вне форума Ответить с цитированием
Старый 27.10.2011, 13:09   #7
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Цитата:
Сообщение от ingvi Посмотреть сообщение
Какое правило вписать в правило указанное выше...?
Вместо А2:
Код:
=ЕСЛИ(ЕЧИСЛО(ПОИСК("дн.";A2));A2;"0 дн. "&A2)
vikttur вне форума Ответить с цитированием
Старый 27.10.2011, 13:33   #8
ingvi
 
Регистрация: 26.10.2011
Сообщений: 7
По умолчанию

vikttur, на выходе, к сожалению, тот же результат..
прилагаю файл
ingvi вне форума Ответить с цитированием
Старый 27.10.2011, 13:35   #9
ingvi
 
Регистрация: 26.10.2011
Сообщений: 7
По умолчанию

Да, вот он файл)
Вложения
Тип файла: rar 03845.rar (1.8 Кб, 13 просмотров)
ingvi вне форума Ответить с цитированием
Старый 27.10.2011, 14:19   #10
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Невнимательно читали. Эту часть формулы нужно было вставить в исходную формулу вместо ссылки на ячейку.
Но даже без изменения в Вашем файле данные неправильны: формат ячеек столбца С "чч:мм:сс". Например, в С1 "20:02:06", но это 20 часов, 02 мин, 06 сек. Убедиться можно, изменив формат ячейки на "общий" (целая часть - количество дней)
См. пример с использованием макрофункции (Ctrl+F3)
Вложения
Тип файла: rar время.rar (1.6 Кб, 14 просмотров)
vikttur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести в таблицу дату и время P10neer Microsoft Office Excel 2 24.12.2010 14:24
Как вывести в таблицу дату и время P10neer Microsoft Office Word 0 24.12.2010 00:25
Как поместить время и дату в statusbar? Proxx-asb Общие вопросы Delphi 9 27.05.2009 22:48
Как вытащить дату и время из биос ? sergey113 Помощь студентам 18 27.03.2009 13:34
Как ввести системную дату и время с помощью TEdit? Bill Gates Общие вопросы Delphi 4 03.01.2008 12:06