Last active
April 15, 2021 13:39
-
-
Save cs278/f7d6ce62fdb18c7fb65d66a3b4a96120 to your computer and use it in GitHub Desktop.
Parse duration in Excel
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Parses "1 hour 30 minutes 20 seconds" and similar strings in to a number of seconds. | |
Replace A21 with the input cell. | |
=IF(ISERROR(SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))),0,VALUE(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""),SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))-1))*3600)+IF(ISERROR(SEARCH("m",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))),0,VALUE(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""),IFERROR(SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,1),SEARCH("m",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))-IFERROR(SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,1)))*60)+IF(ISERROR(SEARCH("s",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))),0,VALUE(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""),IFERROR(SEARCH("m",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,IFERROR(SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,1)),SEARCH("s",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))-IFERROR(SEARCH("m",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,IFERROR(SEARCH("h",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""))+1,1))))) | |
=IF( | |
ISERROR( | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) | |
), | |
0, | |
VALUE( | |
LEFT( | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""), | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) - 1 | |
) | |
) * 3600 | |
) + | |
IF( | |
ISERROR( | |
SEARCH( | |
"m", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) | |
), | |
0, | |
VALUE( | |
MID( | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""), | |
IFERROR( | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
1 | |
), | |
SEARCH( | |
"m", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) - | |
IFERROR( | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
1 | |
) | |
) | |
) * 60 | |
) + | |
IF( | |
ISERROR( | |
SEARCH( | |
"s", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) | |
), | |
0, | |
VALUE( | |
MID( | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ",""), | |
IFERROR( | |
SEARCH( | |
"m", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
IFERROR( | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
1 | |
) | |
), | |
SEARCH( | |
"s", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) - | |
IFERROR( | |
SEARCH( | |
"m", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
IFERROR( | |
SEARCH( | |
"h", | |
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A21,"seconds","s"),"second","s"),"minutes","m"),"minute","m"),"hours","h"),"hour","h")," ","") | |
) + 1, | |
1 | |
) | |
) | |
) | |
) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment