Загрузите образец книги
Это руководство будет продемонстрируют вам, как удалить нечисловые символы из ячеек в Excel и Google Sheet.
Удалить нечисловые символы
Примечание: Функции, упомянутые в этой статье, были введены в Excel 2016. Если у вас более старая версия Excel, см. Эту статью: Найти и извлечь число из строки.
С помощью функций TEXTJOIN, SEQUENCE, MID и IFERROR вы можете удалить все нечисловые символы:
1 | = TEXTJOIN (""; ИСТИНА; ЕСЛИОШИБКА (СРЕДНЕЕ (B3; ПОСЛЕДОВАТЕЛЬНОСТЬ (LEN (B3)); 1) +0; "")) |
Посмотрим, как работает эта формула.
Функции SEQUENCE и LEN возвращают массив чисел, начиная с 1 и заканчивая длиной нашей буквенно-цифровой строки. В нашем случае это будет {1,2,3,4,5,6,7,8,9,10,11,12,13}.
1 | = TEXTJOIN ("", ИСТИНА, ЕСЛИОШИБКА (MID (B3, {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13}, 1) +0, "") ) |
Функция MID возвращает символы, соответствующие позициям из нашего числового массива выше:
1 | = TEXTJOIN ("", ИСТИНА, ЕСЛИОШИБКА ({"1"; "3"; "M"; "o"; "n"; "d"; "a"; "y"; "0"; "1" ; "D"; "a"; "y"} + 0, "")) |
Добавление 0 к каждому элементу в массиве вызовет ошибку, если значение - текст. Затем функция ЕСЛИОШИБКА заменит ошибку пустой строкой, оставив только числовые значения:
1 | = TEXTJOIN ("", ИСТИНА, {1; 3; ""; ""; ""; ""; ""; ""; 0; 1; ""; ""; ""}) |
Наконец, функция TEXTJOIN возвращает только числовые символы.
Вместо использования функции SEQUENCE вы можете достичь той же цели, объединив функцию TEXTJOIN с функциями LEN, INDIRECT, ROW, MID и IFERROR.
1 | = TEXTJOIN (""; ИСТИНА; ЕСЛИОШИБКА ((MID (B3, ROW (INDIRECT ("1:" & LEN (B3)))); 1) * 1), "")) |
Как удалить нечисловые символы в Google Таблицах
Все приведенные выше примеры работают в таблицах Google так же, как и в Excel.