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

Вход

Регистрация

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

 

= Мир MS Excel/Как сложить минуты и секунды - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как сложить минуты и секунды (Макросы/Sub)
Как сложить минуты и секунды
zhukovss Дата: Понедельник, 29.12.2014, 21:13 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Дорогие Друзья С НАСТУПАЮЩИМ)))
Как решить данную проблему как посчитать минуты + секунды = сколько часов ???
ПРИМЕР
К сообщению приложен файл: 8626242.xlsx (10.6 Kb)


Всем удачного настроения)))

Сообщение отредактировал zhukovss - Понедельник, 29.12.2014, 21:19
 
Ответить
СообщениеДорогие Друзья С НАСТУПАЮЩИМ)))
Как решить данную проблему как посчитать минуты + секунды = сколько часов ???
ПРИМЕР

Автор - zhukovss
Дата добавления - 29.12.2014 в 21:13
Pelena Дата: Понедельник, 29.12.2014, 21:44 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
И Вас с наступающим.
Обязательно макрос? Формулы не предлагать?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеИ Вас с наступающим.
Обязательно макрос? Формулы не предлагать?

Автор - Pelena
Дата добавления - 29.12.2014 в 21:44
tsap Дата: Понедельник, 29.12.2014, 22:24 | Сообщение № 3
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
С Наступающим!

Попробуйте (обязательно должен быть разделитель пробел - как у Вас в файле, во всем выбранном диапазоне)
Иначе не посчитается в общую сумму времени.
Результат функции - количество часов в виде числа с тремя знаками после запятой):

[vba]
Код
Function MeasureTime(target As Range) As Double
Dim rCell As Range
Dim tmp As Variant
Dim sum As Double

For Each rCell In target
     On Error Resume Next
     tmp = Split(rCell.Value, " ")
     If IsNumeric(tmp(0)) Then
         If tmp(1) Like "с*" Then
         sum = sum + tmp(0) / 3600
         ElseIf tmp(1) Like "мин*" Then
         sum = sum + tmp(0) / 60
         End If
     End If
Next

MeasureTime = Round(sum, 3)
End Function
[/vba]


 
Ответить
СообщениеС Наступающим!

Попробуйте (обязательно должен быть разделитель пробел - как у Вас в файле, во всем выбранном диапазоне)
Иначе не посчитается в общую сумму времени.
Результат функции - количество часов в виде числа с тремя знаками после запятой):

[vba]
Код
Function MeasureTime(target As Range) As Double
Dim rCell As Range
Dim tmp As Variant
Dim sum As Double

For Each rCell In target
     On Error Resume Next
     tmp = Split(rCell.Value, " ")
     If IsNumeric(tmp(0)) Then
         If tmp(1) Like "с*" Then
         sum = sum + tmp(0) / 3600
         ElseIf tmp(1) Like "мин*" Then
         sum = sum + tmp(0) / 60
         End If
     End If
Next

MeasureTime = Round(sum, 3)
End Function
[/vba]

Автор - tsap
Дата добавления - 29.12.2014 в 22:24
zhukovss Дата: Вторник, 30.12.2014, 04:44 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо можно и формулу)))


Всем удачного настроения)))
 
Ответить
СообщениеСпасибо можно и формулу)))

Автор - zhukovss
Дата добавления - 30.12.2014 в 04:44
VEKTORVSFREEMAN Дата: Вторник, 30.12.2014, 09:54 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
можно и формулу

zhukovss, здравствуйте!
не знаю пригодится ли, но этой формулой можно посчитать количество полных часов
формула массивная и вводится сочетанием клавиш ШИФТ+КОНТРЛ+ЕНТЕР
Код
=ЦЕЛОЕ((СУММ((ПРАВСИМВ(E6:E17;3)="сек")*((ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*1);(ПРАВСИМВ(E6:E17;3)="мин")*((ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*60);(ПРАВСИМВ(E6:E17;3)="час")*(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*3600))/3600)


ЗЫ Для корректной работы справа от цифр должны стоять только три символа обозначения времени. Например: час / мин / сек (см. файл)
К сообщению приложен файл: 7080698.xlsx (9.6 Kb)


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
Сообщение
можно и формулу

zhukovss, здравствуйте!
не знаю пригодится ли, но этой формулой можно посчитать количество полных часов
формула массивная и вводится сочетанием клавиш ШИФТ+КОНТРЛ+ЕНТЕР
Код
=ЦЕЛОЕ((СУММ((ПРАВСИМВ(E6:E17;3)="сек")*((ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*1);(ПРАВСИМВ(E6:E17;3)="мин")*((ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*60);(ПРАВСИМВ(E6:E17;3)="час")*(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17;1)-1))*3600))/3600)


ЗЫ Для корректной работы справа от цифр должны стоять только три символа обозначения времени. Например: час / мин / сек (см. файл)

Автор - VEKTORVSFREEMAN
Дата добавления - 30.12.2014 в 09:54
zhukovss Дата: Вторник, 30.12.2014, 11:18 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
СПАСИБО ОГРОМНОЕ ТО ,ЧТО НУЖНО)))


Всем удачного настроения)))
 
Ответить
СообщениеСПАСИБО ОГРОМНОЕ ТО ,ЧТО НУЖНО)))

Автор - zhukovss
Дата добавления - 30.12.2014 в 11:18
Pelena Дата: Вторник, 30.12.2014, 11:23 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё вариант, тоже массивная формула даёт кол-во часов с долями.
Код
=СУММ(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17)-1)/ЕСЛИ(ЕЧИСЛО(ПОИСК("сек";E6:E17));3600;ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";E6:E17));60;1)))

Если надо целое число часов, то используем функцию ОТБР()
Код
=ОТБР(СУММ(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17)-1)/ЕСЛИ(ЕЧИСЛО(ПОИСК("сек";E6:E17));3600;ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";E6:E17));60;1))))


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё вариант, тоже массивная формула даёт кол-во часов с долями.
Код
=СУММ(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17)-1)/ЕСЛИ(ЕЧИСЛО(ПОИСК("сек";E6:E17));3600;ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";E6:E17));60;1)))

Если надо целое число часов, то используем функцию ОТБР()
Код
=ОТБР(СУММ(ЛЕВСИМВ(E6:E17;ПОИСК(" ";E6:E17)-1)/ЕСЛИ(ЕЧИСЛО(ПОИСК("сек";E6:E17));3600;ЕСЛИ(ЕЧИСЛО(ПОИСК("мин";E6:E17));60;1))))

Автор - Pelena
Дата добавления - 30.12.2014 в 11:23
krosav4ig Дата: Вторник, 30.12.2014, 12:47 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С Наступающим!
еще вариант
Код
=ОТБР(СУММ(ЛЕВБ(E6:E17;ПОИСК(" ";E6:E17)-1)/МУМНОЖ(Ч(ЕСЛИ(1-ЕОШ(ПОИСК(" "&{"ч";"м";"с"};E6:E17));60^{0;1;2}));{1:1:1})))
формула тоже массивная


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 30.12.2014, 12:53
 
Ответить
СообщениеС Наступающим!
еще вариант
Код
=ОТБР(СУММ(ЛЕВБ(E6:E17;ПОИСК(" ";E6:E17)-1)/МУМНОЖ(Ч(ЕСЛИ(1-ЕОШ(ПОИСК(" "&{"ч";"м";"с"};E6:E17));60^{0;1;2}));{1:1:1})))
формула тоже массивная

Автор - krosav4ig
Дата добавления - 30.12.2014 в 12:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как сложить минуты и секунды (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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