Как мне разобрать целое число в Google Sheets?


16

Что эквивалентно parseInt()(JS) или intval()(PHP) в Google Sheets?

Я хочу вычислить сумму чисел в строке в отдельной ячейке. Так что если бы я имел 3 cupsи 5 cupsв ряд, я бы получил 18.


4
Вы имеете в виду «3 чашки» и «15 чашек», или я что-то упустил?
Jonsca

Ответы:


15

Один из способов реализовать что-то вроде этого

=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))

Результат этой формулы для некоторых примеров строк приведен ниже.

введите описание изображения здесь

Возможно, вам придется изменить это в соответствии с вашими индивидуальными потребностями. Это должно работать очень хорошо для простых строк, таких как «3 чашки».

  • SPLIT(..., " ")разбивает строку на части, разделенные пробелом. Вы можете добавить больше символов в строку, например " -/", разделить, когда эти символы найдены.

  • ISNUMBER проверяет, является ли строка числом.

  • FILTER берет массив и отфильтровывает все, что не удовлетворяет второй функции, т. е. отбирает все, что не является числом.

  • INDEX(...; 1; 1) возвращает значение в первой строке первого столбца массива (поэтому мы получаем только первый номер в списке, а не все числа в списке).

  • VALUE Вероятно, в этом нет необходимости, но просто для большей меры он преобразует окончательную строку в числовое значение.


2
Таким образом, ответ VALUE...
Юлиан Онофрей

@IulianOnofrei Нет, выдает VALUEошибку («невозможно разобрать в число») на всех входных примерах, которые я дал в ответе.
6005

1
Извините, я хотел сказать, что VALUEэто ответ на первый вопрос ОП и название тоже.
Юлиан Онофрей

@IulianOnofrei Я не знаю JavaScript, но я не так понял вопрос ОП.
6005

3

Другая альтернатива, которая работает с клеткой, содержащей чашку или чашки

= ArrayFormula (SUM (INT (ВЛЕВО (B1: B2, НАЙТИ ("", B1: B2)))))


1

Кажется, хорошее использование для регулярных выражений. Например:

Пример WA57716

где формула в E2:

="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))

Это удаляет все нечисловые значения, объединяет результат с +и добавляет =.

Скопируйте / Вставьте / Вставьте только те значения, например, в F2 (может быть E2), а затем Замените =на =.

РЕГИСТРИРУЙТЕСЬ
REGEXREPLACE

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.