Was ist das Äquivalent von parseInt()
(JS) oder intval()
(PHP) in Google Sheets?
Ich möchte die Summe der Zahlen in einer Reihe in einer separaten Zelle berechnen. Wenn ich also 3 cups
und 5 cups
in einer Reihe hätte, würde ich bekommen 18
.
Was ist das Äquivalent von parseInt()
(JS) oder intval()
(PHP) in Google Sheets?
Ich möchte die Summe der Zahlen in einer Reihe in einer separaten Zelle berechnen. Wenn ich also 3 cups
und 5 cups
in einer Reihe hätte, würde ich bekommen 18
.
Antworten:
Eine Möglichkeit, so etwas zu implementieren, ist
=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))
Das Ergebnis dieser Formel für einige Beispielzeichenfolgen ist unten angegeben.
Möglicherweise müssen Sie dies an Ihre individuellen Bedürfnisse anpassen. Es sollte für Saiten, die so einfach wie "3 Tassen" sind, ziemlich gut funktionieren.
SPLIT(..., " ")
Teilt eine Zeichenfolge in durch Leerzeichen getrennte Teile. Sie können der Zeichenfolge weitere Zeichen hinzufügen, z. B. um sie " -/"
zu teilen, wenn diese Zeichen gefunden werden.
ISNUMBER
prüft, ob eine Zeichenkette eine Zahl ist.
FILTER
Nimmt das Array und filtert alles heraus, was die zweite Funktion nicht erfüllt, dh alles, was keine Zahl ist.
INDEX(...; 1; 1)
Gibt den Wert in der ersten Zeile und in der ersten Spalte des Arrays zurück (daher wird nur die erste Zahl aufgeführt, nicht alle aufgeführten Zahlen).
VALUE
wird wahrscheinlich nicht benötigt, aber es konvertiert die endgültige Zeichenfolge nur zum guten Zweck in einen numerischen Wert.
VALUE
...
VALUE
wirft einen Fehler ("kann nicht in eine Zahl zerlegt werden") für alle Beispieleingaben auf, die ich in der Antwort angegeben habe.
VALUE
ist die Antwort auf die erste Frage von OP und auch der Titel.
Eine parseInt()
Alternative ist:
=INT()
=SUM(ARRAYFORMULA(INT(LEFT(B1:B2, LEN(B1:B2)-5))))
Das LEN(B1:B2)-5
schließt einen weißen Raum.
Scheint eine gute Verwendung für Regex. Beispielsweise:
wo die Formel in E2 ist:
="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))
Dadurch werden alle nicht +
numerischen Zeichen entfernt , das Ergebnis mit verknüpft und vorangestellt =
.
Kopieren / Einfügen / Einfügen von Werten in beispielsweise F2 (könnte E2 sein) und dann Ersetzen =
durch =
.