Microsoft Excel : 조건부 숫자 형식


1

hh:mm:ss형식에 기간이있는 열이 있습니다 . 초는 사용되지 않습니다. 3 시간 2 분의 시간은입니다 03:02:00. 조건부로 셀을 포맷하여 다음 결과를 얻는 방법은 무엇입니까?

00:00:000 minutes

00:01:001 minute

00:02:002 minutes

01:00:001 hour

02:00:002 hours

03:01:003 hours, 1 minute

01:03:001 hour, 3 minutes

다음과 같은 사용자 정의 형식 문자열을 성공적으로 시도하지 못했습니다.

[<60]hh:mm:ss "minutes";[<120]hh:mm:ss "minute";[<3600]hh:mm:ss "minutes";hh "hour(s)," mm "minute(s)"


제목을 편집하면 "시간 및 분으로 표시 할 형식 시간"이어야합니다.
Rajesh S

1
아니. 왜 그렇게해야합니까?
Ben

셀 형식이거나 날짜 및 시간 형식이기 때문입니다. 조건부 형식이 다릅니다.
Rajesh S

1
글쎄, 그건 단지 이름입니다. 실제로는 조건부 숫자 형식입니다.
Ben

답변:


1

이런 식으로 멋지게 형식화하기 위해 내장 된 "표준"날짜 / 시간 형식을 모르므로 사용자 지정 형식으로 시도하는 것이 적절 해 보입니다.

그러나 작동하지 않는 이유는 시간 값이 가정 한 것처럼 초 단위로 표시되지 않기 때문입니다. 1은 24 시간 인 10 진수 값으로 저장됩니다.

따라서 원하는 중단 점에 해당하는 10 진수 값을 사용해야합니다. 불행히도 Excel에서 중단 점 수를 3 개로 제한하는 것처럼 보이므로 "1 분"(단일) 등에 대한 추가 중단 점을 얻을 수 없습니다. 중단 점이 더 있어도 "N 시간"을 달성 할 수 없습니다. 무한 중단 점이 필요합니다 (0 분 구성 요소를 감지하는 조건이 없음).

따라서 사용자 정의 형식으로 얻을 수있는 가장 가까운 것은 다음과 같습니다.

[<0.000694]"0 minutes";[<0.041666][m] "minutes";h "hours", m "minutes"

다음을 제공합니다.

00:00:00    0 minutes
00:01:00    1 minutes
00:02:00    2 minutes
00:03:00    3 minutes
01:00:00    1 hours, 0 minutes
01:01:00    1 hours, 1 minutes
02:00:00    2 hours, 0 minutes
02:01:00    2 hours, 1 minutes
01:03:00    1 hours, 3 minutes
23:59:59    23 hours, 59 minutes

대신 VBA 함수를 작성하고 수식에서 필드의 형식을 지정하는 것이 좋습니다.

또한 가치가 처음에 시간이되어야하는지 고려할 것을 제안합니다. 경과 시간을 저장하면 특정 단위 (예 : 분 단위)에서 더 좋습니다. 당신은 여전히 ​​무한한 중단 점을 가질 수 없었지만, 위와 관련된 명백한 문제를 피하십시오-23 시간 59 분 후에 롤오버됩니다.

편집 : 재미를 위해 원하는 결과를 생성하는 수식을 만들었습니다. 귀하의 질문에 따라 필요한 형식은 아니지만 원하는 결과를 정확하게 얻지 못했기 때문에 이것이 좋은 대안이라고 생각했습니다.

=if(hour(a1)=0,if(MINUTE(A1)=0,"0 minutes",if(minute(a1)=1,"1 minute",minute(a1) & " minutes")),if(hour(a1)=1,if(MINUTE(A1)=0,"1 hour",if(minute(a1)=1,"1 hour, 1 minute","1 hour, " & minute(a1) & " minutes")),if(MINUTE(A1)=0,hour(A1) & " hours",if(minute(a1)=1,hour(A1) & " hours, 1 minute",hour(A1) & " hours, " & minute(a1) & " minutes"))))

00:00:00    0 minutes
00:01:00    1 minute
00:02:00    2 minutes
00:03:00    3 minutes
01:00:00    1 hour
01:01:00    1 hour, 1 minute
02:00:00    2 hours
02:01:00    2 hours, 1 minute
01:03:00    1 hour, 3 minutes
23:59:59    23 hours, 59 minutes

나는이 줄을 이해하지 못한다 :11:59:59 23 hours, 59 minutes
Ben

1
@Ben-죄송합니다-오타였습니다. 원래 AM / PM으로 포맷 된 첫 번째 열을 제거한 다음 제거했지만 수동으로 예제를 업데이트하고 마지막 열을 수정하지 않았습니다.
앤드류

1
@Ben-수식을 사용하여 답변에 대한 대안을 추가했습니다.
앤드류

1. 아, 그렇습니다. 2. 대단히 감사합니다! 알겠습니다.
Ben

1
예, 총 분에서 시간과 분을 계산하기 위해 다른 수식을 사용합니다. 그 길을 가고 싶다면 추가 질문을하십시오.
앤드류

1

시간 열을 선택하고이 형식을 적용하십시오 h" hours and "m" minutes". 날짜 열은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오


1
이것은 꽤 좋은 답변입니다. 그러나 사용자 정의 형식은 h "hours, " m "minutes"Ben이 수행하려는 작업에 가까워 야합니다. Andrew가 지적했듯이, 숫자가 1 일 때 레이블을 단수로 만들 수는 없습니다.
Bandersnatch

1

TEXT()중첩 된 많은 수식을 사용해보십시오 IF(). 가능한 많은 형식이 있기 때문에 귀하의 경우에는 매우 성 가실 것입니다. 나는 여덟 가지 가능성을 세었다.

예를 들어,이 공식

=IF(HOUR(A1)=1,IF(MINUTE(A1)=1,TEXT(A1,"h"" hour, ""m ""minute"""),TEXT(A1,"h"" hour, ""m ""minutes""")),TEXT(A1,"h"" hours, ""m ""minutes"""))

아래 표에 표시된대로 원하는 형식 중 일부를 수행합니다.

TEXT()함수 내부의 형식 은 작은 따옴표로 묶어야하지만 시간과 분 레이블을 둘러싼 따옴표는 큰 따옴표를 사용하여 "이스케이프해야"합니다.

여기에 이미지 설명을 입력하십시오

또한 분만 올바르게 표시 할 수 없었습니다. 이 수식은 A 열의 모든 값에 대해 "1 분"을 제공합니다.

=TEXT(A1,"m"" minute""")

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