Excel 2016/O365에서 문자열 수식을 계산하는 더 좋은 방법은 무엇입니까?

Excel 2016/O365에서 문자열 수식을 계산하는 더 좋은 방법은 무엇입니까?

목표: "2일 16시간 30분"을 초 단위로 평가합니다.

웹을 검색했지만 적절한 답변을 찾지 못했습니다. 저는 100% 공식 솔루션을 원합니다. 제한 사항: VBA 없음, 이름 관리자 사용 안 함, 일/시/분만 가능, 공백이 있음.

현재 작업 중인 솔루션은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

답변1

이 SUM을 배열 수식으로 사용하십시오.

=SUM(
  (ISNUMBER(SEARCH("Day",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))*999,999)))))*(IFERROR(60*60*24*TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*999+1,999)),0))
+ (ISNUMBER(SEARCH("Hour",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))*999,999)))))*(IFERROR(60*60*TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*999+1,999)),0))
+ (ISNUMBER(SEARCH("Minute",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))*999,999)))))*(IFERROR(60*TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*999+1,999)),0))
)

배열 수식이므로 편집 모드를 종료할 때 Enter 대신 Ctrl-Shift-Enter로 확인해야 합니다.

이는 문자열의 각 단어를 반복합니다. Day(s), Hour(s),Or를 찾으면 Minute(s) 해당 단어 앞의 숫자와 적절한 곱셈을 합니다. 그런 다음 결과를 추가합니다.

여기에 이미지 설명을 입력하세요

관련 정보