Co jest równoważne parseInt()
(JS) lub intval()
(PHP) w Arkuszach Google?
Chcę obliczyć sumę liczb z rzędu w osobnej komórce. Więc gdybym miał 3 cups
i 5 cups
z rzędu, dostałbym 18
.
Co jest równoważne parseInt()
(JS) lub intval()
(PHP) w Arkuszach Google?
Chcę obliczyć sumę liczb z rzędu w osobnej komórce. Więc gdybym miał 3 cups
i 5 cups
z rzędu, dostałbym 18
.
Odpowiedzi:
Jednym ze sposobów wdrożenia czegoś takiego jest
Wynik tego wzoru dla niektórych przykładowych ciągów podano poniżej.
Może być konieczne zmodyfikowanie tego w celu dostosowania do indywidualnych potrzeb. Powinien działać całkiem dobrze na łańcuchach tak prostych jak „3 kubki”.
SPLIT(..., " ")
dzieli ciąg na części oddzielone spacją. Możesz dodać więcej znaków do ciągu, np." -/"
Podzielić, gdy tylko te znaki zostaną znalezione.ISNUMBER
sprawdza, czy ciąg jest liczbą.FILTER
pobiera tablicę i odfiltrowuje wszystko, co nie spełnia drugiej funkcji, tzn. usuwa wszystko, co nie jest liczbą.INDEX(...; 1; 1)
zwraca wartość w pierwszym wierszu, pierwszej kolumnie tablicy (więc otrzymujemy tylko pierwszą liczbę na liście, a nie wszystkie liczby na liście).VALUE
prawdopodobnie nie będzie to konieczne, ale dla dobrego wyniku konwertuje końcowy ciąg znaków na wartość liczbową.źródło
VALUE
...VALUE
wywołuje błąd („nie można parsować na liczbę”) na wszystkich przykładowych danych wejściowych podanych w odpowiedzi.VALUE
to odpowiedź na pierwsze pytanie OP i tytuł.Inna alternatywa, która działa z komórką zawierającą kubek lub kubki
źródło
parseInt()
Alternatywą jest:Formuła
Zrzut ekranu
Uwaga
LEN(B1:B2)-5
, Zawiera spacje.Odniesienie
https://support.google.com/drive/answer/3093490
źródło
Wydaje się być dobrym rozwiązaniem dla wyrażenia regularnego. Na przykład:
gdzie wzór w E2 to:
Spowoduje to usunięcie wszystkich liczb nienumerycznych, konkatenację wyniku
+
i poprzedzenie=
.Kopiuj / Wklej / Wklej wartości tylko, że do, powiedzmy, F2 (może być E2), a następnie wymienić
=
z=
.DOŁĄCZ DO
REGEXREPLACE
źródło