Як розібрати ціле число в Таблицях Google?


16

Що таке еквівалент parseInt()(JS) або intval()(PHP) у Google Таблицях?

Я хочу обчислити суму чисел підряд в окремій комірці. Тож якби я був 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, FIND ("", 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.