Bessere Möglichkeit zum Berechnen von Zeichenfolgenformeln in Excel 2016/O365?

Bessere Möglichkeit zum Berechnen von Zeichenfolgenformeln in Excel 2016/O365?

ZIEL: Berechnen Sie „2 Tage 16 Stunden 30 Minuten“ auf Sekunden genau.

Ich habe im Internet gesucht und keine passende Antwort gefunden, ich wünsche mir eine 100%ige Formellösung. Einschränkungen: kein VBA, Namensmanager vermeiden, nur Tag/Stunde/Minute, Leerzeichen vorhanden.

aktuelle Lösung, die bei mir funktioniert: Bildbeschreibung hier eingeben

Antwort1

Verwenden Sie diese SUMME als Array-Formel:

=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))
)

Da es sich um eine Array-Formel handelt, muss sie beim Verlassen des Bearbeitungsmodus mit Strg-Umschalt-Eingabe statt mit der Eingabetaste bestätigt werden.

Dies iteriert jedes Wort in der Zeichenfolge. Wenn es Day(s), Hour(s), oder findet Minute(s) , führt es die entsprechende Multiplikation mit der Zahl vor diesem Wort durch. Dann werden die Ergebnisse addiert.

Bildbeschreibung hier eingeben

verwandte Informationen