Формула Excel: Видаліть нечислові символи -

Загальна формула

(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))

Резюме

Щоб видалити нечислові символи з текстового рядка, ви можете спробувати цю експериментальну формулу на основі функції TEXTJOIN, нової функції в Excel 2019. У наведеному прикладі формула в C5:

(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))

Примітка: це формула масиву, і її потрібно вводити за допомогою control + shift + enter.

Пояснення

Працюючи зсередини, формула MID використовується для вилучення тексту у форматі B5, по одному символу. Ключ - РЯД / НЕПРАВИЙ шматок:

ROW(INDIRECT("1:100"))

який обертає масив, що містить 100 таких чисел:

(1,2,3,4,5,6,7,8… .99,100)

Примітка: 100 представляє максимальну кількість символів для обробки. Змініть відповідно до своїх даних.

Цей масив переходить у функцію MID як аргумент start_num . Для num_chars ми використовуємо 1.

Функція MID повертає такий масив:

("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; " "…)

(зайві елементи з масиву видалено для читабельності)

До цього масиву ми додаємо нуль. Це простий трюк, який змушує Excel намагатися примусити текст до числа. Числові текстові значення, такі як "1", "2", "3", "4" тощо, перетворюються, тоді як нечислові значення виходять з ладу і видають помилку #VALUE. Ми використовуємо функцію IFERROR для виявлення цих помилок і повернення порожнього рядка (""), тоді як числові значення проходять в масив. Результат - масив, який містить лише числа та порожні рядки:

(1; 0; 0; ""; ""; ";" ";" ";….)

Нарешті, цей результат масиву переходить у функцію TEXTJOIN як аргумент text1 . Для роздільника ми використовуємо порожній рядок (""), а для ignore_empty - TRUE. Потім TEXTJOIN об'єднує всі непорожні значення в масиві і повертає результат.

Примітка: TEXTJOIN поверне числа у вигляді тексту, наприклад "100," 500 "тощо. Якщо ви хочете отримати справжній числовий результат, додайте нуль або оберніть всю формулу у функцію VALUE.

Цікаві статті...