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

Вход

Регистрация

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

 

= Мир MS Excel/Как преобразовать строку в кастомный формат [ч]:мм - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как преобразовать строку в кастомный формат [ч]:мм (Формулы/Formulas)
Как преобразовать строку в кастомный формат [ч]:мм
vol4ok Дата: Пятница, 15.01.2016, 18:06 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Просьба подсказать метод/формулы c с помощью которых можно преобразовать текстовые данные вида:
2 часов 40 минут
5 секунд
6 минут

в значения:
2:40
0:00
0:60

с кастомным типом [ч]:мм для их последующего суммирования
К сообщению приложен файл: 1452723.xlsx(9Kb)


Сообщение отредактировал vol4ok - Пятница, 15.01.2016, 18:18
 
Ответить
СообщениеПросьба подсказать метод/формулы c с помощью которых можно преобразовать текстовые данные вида:
2 часов 40 минут
5 секунд
6 минут

в значения:
2:40
0:00
0:60

с кастомным типом [ч]:мм для их последующего суммирования

Автор - vol4ok
Дата добавления - 15.01.2016 в 18:06
Pelena Дата: Пятница, 15.01.2016, 18:45 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 10468
Репутация: 2362 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Например, так можно
Код
=--ЕСЛИ(ЕЧИСЛО(ПОИСК("часов";A1));ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"часов";":");"минут";":");"секунд";);ЕСЛИ(ЕЧИСЛО(ПОИСК("минут";A1));"0:"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"минут";);"секунд";);0))
К сообщению приложен файл: 6143007.xlsx(9Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНапример, так можно
Код
=--ЕСЛИ(ЕЧИСЛО(ПОИСК("часов";A1));ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"часов";":");"минут";":");"секунд";);ЕСЛИ(ЕЧИСЛО(ПОИСК("минут";A1));"0:"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"минут";);"секунд";);0))

Автор - Pelena
Дата добавления - 15.01.2016 в 18:45
SLAVICK Дата: Пятница, 15.01.2016, 19:21 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1926
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
Еще можно udf:
[vba]
Код
Function t(s$) As Double
Dim m, m1
m1 = Array("н", "д", "ч", "м", "с")
m2 = Array(7, 1, 1 / 24, 1 / 24 / 60, 1 / 24 / 60 / 60)
m = Split(Trim(s), " ")
For i = UBound(m) To 1 Step -2
t = t + m(i - 1) * m2(Application.WorksheetFunction.Match(Left(m(i), 1), m1, 0) - 1)
Next
End Function
[/vba]
Будет работать и с днями и с неделями :D
К сообщению приложен файл: 1452723.xls(40Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЕще можно udf:
[vba]
Код
Function t(s$) As Double
Dim m, m1
m1 = Array("н", "д", "ч", "м", "с")
m2 = Array(7, 1, 1 / 24, 1 / 24 / 60, 1 / 24 / 60 / 60)
m = Split(Trim(s), " ")
For i = UBound(m) To 1 Step -2
t = t + m(i - 1) * m2(Application.WorksheetFunction.Match(Left(m(i), 1), m1, 0) - 1)
Next
End Function
[/vba]
Будет работать и с днями и с неделями :D

Автор - SLAVICK
Дата добавления - 15.01.2016 в 19:21
Udik Дата: Пятница, 15.01.2016, 19:23 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1300
Репутация: 162 ±
Замечаний: 0% ±

Excel 2013
така еще формула
Код
=ПОДСТАВИТЬ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" ч";A1);999;":");"0:")&ПРАВБ("0"&ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" м";A1);999;"");"00");2);" ";0)

==
подправил формулу для случая типа 1 час 1 минут
К сообщению приложен файл: 4985403.xlsx(11Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Суббота, 16.01.2016, 15:47
 
Ответить
Сообщениетака еще формула
Код
=ПОДСТАВИТЬ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" ч";A1);999;":");"0:")&ПРАВБ("0"&ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" м";A1);999;"");"00");2);" ";0)

==
подправил формулу для случая типа 1 час 1 минут

Автор - Udik
Дата добавления - 15.01.2016 в 19:23
_Boroda_ Дата: Пятница, 15.01.2016, 20:08 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9834
Репутация: 4152 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Примерно в ту же степь мысль шла. Только что-то долго шла
Код
=--(ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ч";A1)-1);0)&":"&ПРАВБ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" м";A1);99;););2))
К сообщению приложен файл: 1452723_1.xlsx(10Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПримерно в ту же степь мысль шла. Только что-то долго шла
Код
=--(ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ч";A1)-1);0)&":"&ПРАВБ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;ПОИСК(" м";A1);99;););2))

Автор - _Boroda_
Дата добавления - 15.01.2016 в 20:08
vol4ok Дата: Пятница, 15.01.2016, 22:45 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо всем!

Попробовал все варианты, все работает, самый универсальный способ - с добавлением udf на мой взгляд.
 
Ответить
СообщениеСпасибо всем!

Попробовал все варианты, все работает, самый универсальный способ - с добавлением udf на мой взгляд.

Автор - vol4ok
Дата добавления - 15.01.2016 в 22:45
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как преобразовать строку в кастомный формат [ч]:мм (Формулы/Formulas)
Страница 1 из 11
Поиск:

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