Страницы: 1
RSS
2 формулы в ячейку или время без двоеточия, Необходимо убрать :
 
Всем добрый день. Помогите пожалуйста.
У меня есть три ячейки A1, B1, C1 .

Мне необходимо чтобы в A1, В1 я вводил время без ":" (230 - 2:30, 1457-14:57), а в С1 была формула A1+B1
Нюанс необходимо сохранить вторую формулу ячейки С1 =ТЕКСТ(A1+B1;"чч:мм")&"  "
Есть ли необходимость менять чч:мм на мм:сс, если я считаю минуты и секунды.
Изменено: Dgerdy Dgerdy - 13.09.2022 17:18:20
 
Код
=ТЕКСТ(ВРЕМЗНАЧ(ЛЕВСИМВ(A1;ДЛСТР(A1)-2)&":"&ПРАВСИМВ(A1;2))+ВРЕМЗНАЧ(ЛЕВСИМВ(B1;ДЛСТР(B1)-2)&":"&ПРАВСИМВ(B1;2));"чч:мм")&"  "
 
=ТЕКСТ((ЛЕВСИМВ(A1;ДЛСТР(A1)-2)&":"&ПРАВСИМВ(A1;2))+(ЛЕВСИМВ(B1;ДЛСТР(B1)-2)&":"&ПРАВСИМВ(B1;2));"чч:мм")&"  "
 
Если нужно именно сохранить формулу в столбце C, то можно макросом.
В модуль листа.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column > 2 Then Exit Sub
    If Len(Target.Value) < 2 Then Exit Sub
    
    Dim hh As String
    Dim mm As String
    mm = Right(Target.Value, 2)
    hh = Left(Target.Value, Len(Target.Value) - 2)
    Application.EnableEvents = False
    Target.NumberFormat = "h:mm"
    Target.Value = TimeSerial(hh, mm, 0)
    Application.EnableEvents = True
End Sub
 
Цитата
Dgerdy Dgerdy написал:
Нюанс необходимо сохранить вторую формулу ячейки С1 =ТЕКСТ(A1+B1;"чч:мм")&"  "
именно так и надо оставить или  ???

=TEXT(TEXT(A1;"0\:00")+TEXT(B1;"0\:00");"ЧЧ:мм")
=TEXT((TEXT(A1;"0\:00")+TEXT(B1;"0\:00"))/60;"мм:сс")
Ну и формат для a1 и b1 задать  как "0\:00" будет наглядно.
Изменено: БМВ - 13.09.2022 20:55:46
По вопросам из тем форума, личку не читаю.
 
Vik_tor, МатросНаЗебре, подошло, только один момент, он считает часы, минуты. Мне надо минуты, секунды.

44м 30с + 1м 20с = 45 м 50с  
Изменено: Dgerdy Dgerdy - 13.09.2022 20:50:52
 
Цитата
написал:
Мне надо минуты, секунды.
Я вот тоже это пропустил. тогда
=TEXT((TEXT(A1;"0\:00")+TEXT(B1;"0\:00"))/60;"мм:сс")
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
Цитата
написал:
Мне надо минуты, секунды.
Я вот тоже это пропустил. тогда
=TEXT((TEXT(A1;"0\:00")+TEXT(B1;"0\:00"))/60;"мм:сс")
Не очень понял, просто эту формулу вставить или в дополнении к тем что выше, если в дополнении то где конкретно?
А то вставил и не работает.
 
Так TEXT для вас это ТЕКСТ

Вам не надоело картинки вставлять вместо примера в excel?
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
Мне надо минуты, секунды.
Код
=ТЕКСТ(ВРЕМЗНАЧ("00:"&ЕСЛИ(ДЛСТР(A1)>2;ЛЕВСИМВ(A1;ДЛСТР(A1)-2);"00")&":"&ПРАВСИМВ(A1;2))+ВРЕМЗНАЧ("00:"&ЕСЛИ(ДЛСТР(B1)>2;ЛЕВСИМВ(B1;ДЛСТР(B1)-2);"00")&":"&ПРАВСИМВ(B1;2));"чч:мм")&"  "

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column > 2 Then Exit Sub
    If Len(Target.Value) < 2 Then Exit Sub
     
    Dim hh As String
    Dim mm As String
    mm = Right(Target.Value, 2)
    If Len(Target.Value) > 2 Then
        hh = Left(Target.Value, Len(Target.Value) - 2)
    Else
        hh = "00"
    End If
    Application.EnableEvents = False
    Target.NumberFormat = "h:mm"
    Target.Value = TimeSerial(0, hh, mm)
    Application.EnableEvents = True
End Sub
Изменено: МатросНаЗебре - 14.09.2022 15:52:27
Страницы: 1
Наверх