source

시간 범위를 일, 시간 및 분 단위로 포맷합니다.

ittop 2023. 4. 17. 22:29
반응형

시간 범위를 일, 시간 및 분 단위로 포맷합니다.

이것은 순전히 Excel 시트 질문입니다.

기본적으로 두 셀의 차이인 시간 범위가 있으며 각각에 날짜가 포함되어 있습니다.

숫자 형식을 다음과 같이 변경하여 시간 및 분 단위로 시차를 간신히 얻을 수 있었습니다.[h]:mm일수, 시간, 분수의 차이를 알고 싶습니다.숫자 형식을 다음과 같이 설정하려고 했습니다.[d]:[h]:[mm]하지만 엑셀에서는 받아들여지지 않습니다.

지금 제가 가지고 있는 것은 다음과 같습니다.

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    79:50
2|  14/10/2011 00:00    17/10/2011 11:00    83:00

제가 원하는 것은 다음과 같습니다.

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    3:7:50
2|  14/10/2011 00:00    17/10/2011 11:00    3:11:00

내가 어떻게 그럴 수 있을까?그것에 사용할 수 있는 숫자 형식이 있나요?

사용할 수 있습니다.TEXT
=TEXT(B1-A1,"d:h:mm")

셀에서 직접 간단한 숫자 형식을 사용하여 동일한 효과를 얻을 수 있습니다.

  • 범위 선택(선택)C1, C2기타)
  • 오른쪽 클릭 및 셀 형식 지정
  • 관습
  • 유형d:hh:mm

예제 데이터와 달리 날짜 차이가 31일을 초과할 경우 다음과 같은 방법을 사용합니다.=INT(B1-A1)&":"&TEXT(B1-A1,"h:mm")
동작할 것이다

경고: 위의 내용은 31일 미만의 범위에서만 작동합니다.사용하다

=CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss"))

대신 31일을 초과하는 범위 동안.이렇게 하면 정렬이 잘 안 되므로 한 칸에서 계산을 한 후 최종 결과에 맞게 해당 칸을 예쁘게 하는 것이 좋습니다.

안타깝게도 숫자와 날짜 형식을 조합할 수 없습니다. 그렇지 않으면 다음과 같은 사용자 지정 형식을 사용할 수 없습니다.

0:h:m

표가 될 거예요.그러나 32일 이상의 기간 동안 다음과 같은 사용자 정의 형식을 사용할 수 있는 일수만 표시해도 됩니다.

[>=32] 0.00 "days"; d:h:m

셀 값은 숫자 그대로입니다.

다음은 최단 수식도 아니고 질문에 대한 직접적인 답변도 아닙니다.다만, (Libre Office에서도) 다음의 형식으로 올바른 결과를 표시할 수 있습니다.

#일 ##시간 ##분 ##초

=CONCATENATE(TEXT(FLOOR(B2-A2,1),"@")," days ", IF(HOUR(A12)-HOUR(A11)<0,HOUR(A12)-HOUR(A11)+24,HOUR(A12)-HOUR(A11))," hours ",IF(MINUTE(A12)-MINUTE(A11)<0,MINUTE(A12)-MINUTE(A11)+60,MINUTE(A12)-MINUTE(A11)), " minutes ", TEXT(B2-A2,"s"), " seconds")

다음 접근방식은 시작일이 셀 C2에 있고 종료일이 셀 D2에 있다고 가정할 때도 기능합니다.

 =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")

=IFERROR(INT(Date1-Date2)&" Days "&INT(MOD((Date1-Date2);INT(Datw1-Date2))*24)&" Hours "&MINUTE(Fate1-Date)&" Min";IFERROR((Date1-Date2);"NA"))enter code here

이게 효과가 있을 것 같아. 네가 어떤 날짜를 잡았든.

나 말고도 비슷한 질문이 있었는데, 근무일이 필요했기 때문에 24시간이 아니라 8시간으로 나누어져 있어야 했다.그래서 해결책을 생각해냈지만, 코드가 엉망진창처럼 보이기 때문에 이해하기 정말 복잡하지만, 분할하면 그렇게 어렵지 않습니다.

=CONCAT(INT(C16*24/8),":",IF(INT((C16-INT(C16))*24)<10,CONCAT("0",INT((C16-INT(C16))*24)),INT((C16-INT(C16))*24)),":",IF(MINUTE(C16)<10,CONCAT("0",MINUTE(C16)),MINUTE(C16)))
  • 근무시간이 필요했기 때문에 8을 사용하여 시간을 8로 나누었습니다.그러니까 그걸 원하지 않으면 무시해도 돼
  • 결과를 "4:9:8"이 아닌 "4:09:08"로 표시해야 했습니다.(이것은 "Days:Hours:Minutes" 형식).그래서 저는 여분의 IF()와 CONCAT() 함수를 내부에 사용했습니다.

언급URL : https://stackoverflow.com/questions/7929058/format-a-time-span-as-a-number-of-days-hours-and-minutes

반응형