hh:mm:ss
형식에 기간이있는 열이 있습니다 . 초는 사용되지 않습니다. 3 시간 2 분의 시간은입니다 03:02:00
. 조건부로 셀을 포맷하여 다음 결과를 얻는 방법은 무엇입니까?
00:00:00
→ 0 minutes
00:01:00
→ 1 minute
00:02:00
→ 2 minutes
01:00:00
→ 1 hour
02:00:00
→ 2 hours
03:01:00
→ 3 hours, 1 minute
01:03:00
→ 1 hour, 3 minutes
다음과 같은 사용자 정의 형식 문자열을 성공적으로 시도하지 못했습니다.
[<60]hh:mm:ss "minutes";[<120]hh:mm:ss "minute";[<3600]hh:mm:ss "minutes";hh "hour(s)," mm "minute(s)"
답변
이런 식으로 멋지게 형식화하기 위해 내장 된 “표준”날짜 / 시간 형식을 모르므로 사용자 지정 형식으로 시도하는 것이 적절 해 보입니다.
그러나 작동하지 않는 이유는 시간 값이 가정 한 것처럼 초 단위로 표시되지 않기 때문입니다. 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
답변
답변
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""")