mm : ss 형식으로 시간 데이터를 Excel로 입력하기 (앞에 0이없는 시간)


16

mm : ss 형식으로 시간 데이터를 Excel 시트에 입력하고 싶습니다. 문제는 셀 형식이 mm : ss이지만 다음과 같이 데이터를 입력하면 다음과 같습니다.

12:33 실제 저장된 값은 12 시간 33 분입니다. 12 분 33 초를 원하면 0:12:33을 입력해야합니다.

셀에 12:33을 mm : ss로 허용하는 방법이 있습니까?


2
보다 큰 분 을 표시 하려면 59셀을로 포맷하십시오 [MM]:SS. Like : 대신 02:10:45표시 130:45됩니다. 그러나 분명히 그것은 입력에 작동하지 않습니다.
Arjan

답변:


6

시간은 일반적으로시 : 분 : 초 형식으로 입력되므로이 입력 형식을 변경할 수 없습니다. 분명히 표시 형식을 변경할 수 있지만 불행히도 입력 형식을 따라야합니다.


서식을 지정하면 사용자가 실제로 입력하는 내용이 마스크 처리되므로 스크립트를 사용해도 도움이되지 않으므로 내 문제에 대한 해결책이없는 것처럼 보입니다.
Dani

그래서 보편적 인 형식 hh:mm:ss또는 h:mm:ss? @Steve
Shayan

h:mm:ss@Shayan 이라고 말하고 싶습니다
Steve

14

Steve 가 대답 한 것처럼 Excel은 사용자 입력 12:33을 12 시간 33 분으로 해석합니다 . Excel에서 사용자 입력을받는 방식에 대한이 동작을 변경할 수 없습니다.

주석에서 언급했듯이 사용자는 12:3312m33을 입력 하지만 의미합니다.

다음은 올바른 계산 값을 얻는 해결 방법 입니다.

  1. 셀 A1 (예 : 사용자 입력 12:33)을 다음과 같이 형식화하십시오.[h]:mm
  2. =A1/60셀 B1에 수식 입력
  3. 셀 B1을 다음과 같이 포맷하십시오. [m]:ss

표시된 값은 A1 및 B1에서 동일해야합니다. 그러나 B1은 원하는 실제 값이 됩니다.


2
좋은. 또는 : 입력을 문자열 / 텍스트 값으로 형식화하고 변환하는 것과 같은 TIMEVALUE것을 사용 하십시오 .
Arjan

1
mm> 23
Alaa M 인

1
@AlaaM. 발견해 주셔서 감사합니다. 문제를 해결하기 위해 답변이 업데이트됩니다. 사용 [h][m]
윌슨

3

해결책이 있습니다! 이 VBA 코드를 워크 시트 모듈에 배치하십시오.

  1. Visual Basic Editor ( Alt- F11)를 엽니 다.
  2. 왼쪽 상단 트 리뷰에서 시간을 입력하려는 시트를 두 번 클릭하십시오.
  3. 중앙 코드 패널에서 아래 코드를 배치하십시오.
  4. VBE 닫기

이 코드를 사용하십시오 :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

데이터를 입력 할 범위의 형식을 이미 지정한 경우 첫 번째 줄 대신이 줄을 사용하십시오.

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

이렇게하면 시간과 시간을 입력 할 때마다 또는 0과 1 사이의 값과 형식이 변경됩니다. 특정 열로 제한하려면 다음 행을 추가하십시오.

If Target.Column <> 3 Then Exit Sub

또는이 줄을 특정 범위로 제한

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub

2

완료된 시간을 해결하는 가장 쉬운 방법

셀 서식 지정 (A1) hh:mm

정상 입력 ( 07:22)

셀 서식 지정 (B1) hh:mm

정상 입력 ( 16:00)

셀 서식 지정 (C1) h:mm

모든 데이터를 셀 (C1)에 다음을 입력하십시오. =(A1+B1)/60


1

기간으로 원하는 셀 / 열을 강조 표시하고 마우스 오른쪽 단추를 클릭하여 "셀 서식"으로 지정하십시오. 지속 시간을 시간 및 분 형식으로 입력하려면 "사용자 정의"로 이동하여 "h : mm"을 찾으십시오. 초도 포함 시키려면 "h : mm : ss"를 클릭하십시오. 그 후에 총 기간을 추가 할 수도 있습니다.

도움이 되었기를 바랍니다.


1

열 A에 분을 입력 한 다음 열 B에 초를 입력하는 것이 가장 좋습니다. 그런 다음 열을 합산 할 수 있습니다. 모두 일반 숫자 형식입니다.

그런 다음 col B의 합계를 60으로 나누고 초를 60에서 분으로 변환하고 INT를 Col A Sum에 추가하고 나머지 MOD를 col B에 그대로 둡니다.

또는 수식에 = (A1+(B1/60))소수 자릿수를 부여 하여 열 C를 소수로 지정할 수 있습니다 . 가령 다음과 같이 골 C 하단의 합이 다음 초 소수 부분 다시 변환하는 공식을 적용 할 C22합이 유지되는 경우 다음에있는 C23수식을 입력 =MOD(C22,1)*60.

이제에 A23수식의 =INT(C22)분을 포함하여 총 분을 표시하는 수식 을 입력하십시오 C22.


1

나는 같은 문제를 겪었고 여기에 내가 찾은 해결책이 있습니다 : TIME함수를 사용하여 수식을 입력하십시오.이 함수는 시간 행렬을 만들고 원하는대로 =TIME(H,M,S)형식을 지정합니다. 수학 때문에 항상 0 시간을 입력해야하지만 이로 인해 전체 작업이 훨씬 더 가능해집니다.


0

위의 해결책. h:mm형식을 사용할 때 Excel에서는 23 이상으로 올라갈 수 없습니다. 형식으로 시간에 대괄호를 추가 [h]:mm하면 23 이상으로 자유롭게 이동할 수 있습니다.

초 단위로 값을 계산하려면 셀을 "일반"숫자 형식으로 설정 한 후 다음 수식을 입력하십시오.

=HOUR(A1)*60+MINUTE(A1)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.