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