Note: The other languages of the website are Google-translated. Back to English

Удалите или удалите нечисловые символы из текстовых строк

Иногда вам может потребоваться удалить все нечисловые символы из текстовых строк и оставить только числа, как показано на скриншоте ниже. В этой статье будут представлены некоторые формулы для решения этой задачи в Excel.


Удалите или удалите все нечисловые символы из текстовых строк с формулами

В Excel 2019 и Office 365 новая функция TEXTJOIN в сочетании с функциями IFERROR, MID, ROW и INDIRECT может помочь вам извлекать только числа из текстовой строки, общий синтаксис:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: текстовая строка или значение ячейки, из которых вы хотите удалить все нечисловые символы.

1. Скопируйте или введите приведенную ниже формулу в пустую ячейку, в которую вы хотите вывести результат:

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

2. А затем нажмите Shift + Ctrl + Enter вместе, чтобы получить первый результат, см. снимок экрана:

3. Затем выберите ячейку формулы, а затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, были извлечены только числа, а все другие нечисловые символы были удалены, см. Снимок экрана:


Пояснение к формуле:

СТРОКА (КОСВЕННАЯ ("1: 100"): Число 1: 100 в формуле INDIRECT означает, что функция MID оценивает 100 символов текстовой строки. Этот массив будет содержать 100 таких чисел: {1; 2; 3; 4; 5; 6; 7; 8 .... 98; 99; 100}.
Внимание: Если ваша текстовая строка намного длиннее, вы можете изменить число 100 на большее, если вам нужно.

СРЕДНЕЕ (A2; СТРОКА (КОСВЕННАЯ ("1: 100")), 1: Эта функция MID используется для извлечения текста в ячейке A2, чтобы получить один символ, и это будет массив, подобный этому:
{"5"; "0"; "0"; ""; "K"; "u"; "t"; "o"; "o"; "l"; "s"; ""; "f" ; "o"; "r"; ""; "E"; "x"; "c"; "e"; "l"; ""; ""; ""; ""; ""; "". ..}

MID(A2,ROW(INDIRECT("1:100")),1)+0: Добавление значения 0 после того, как этот массив используется для преобразования текста в число, числовое текстовое значение будет преобразовано в число, а нечисловые значения будут отображаться как значение ошибки #VALUE, например:
{"5"; "0"; "0"; # VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE! !;#ЗНАЧЕНИЕ! !;#ЗНАЧЕНИЕ!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: Эта функция ЕСЛИОШИБКА используется для замены всех значений ошибки пустой строкой, например:
{"5"; "0"; "0"; ""; ""; ""; ""; ""; ""; ""; ""; …}

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): Наконец, эта функция TEXTJION объединит все непустые значения в массиве, возвращенном функцией IFFERROR, и вернет результат.


Заметки:

1. С помощью приведенной выше формулы числа будут возвращены в текстовом формате. Если вам нужно действительное числовое значение, примените эту формулу, не забудьте нажать Shift + Ctrl + Enter ключи вместе, чтобы получить правильный результат.

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

2. В ранних версиях Excel эта формула не будет работать. В этом случае вам может помочь следующая формула. Скопируйте или введите эту формулу в пустую ячейку:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)


Удалите или удалите все нечисловые символы из текстовых строк с помощью простой функции

Возможно, слишком долго запоминать приведенные выше формулы, здесь я представлю Kutools for Excel для вас, с его Удалить символы функция, вы можете удалить числовые, буквенные, непечатаемые или буквенно-цифровые символы из текстовых строк всего несколькими щелчками мыши. Нажмите, чтобы загрузить Kutools for Excel для бесплатной пробной версии!


Используемые относительные функции:

  • TEXTJOIN:
  • Функция TEXTJOIN объединяет несколько значений из строки, столбца или диапазона ячеек с определенным разделителем.
  • MID:
  • Функция MID используется для поиска и возврата определенного количества символов из середины данной текстовой строки.
  • ROW:
  • Функция Excel ROW возвращает номер строки ссылки.
  • INDIRECT:
  • Функция ДВССЫЛ в Excel преобразует текстовую строку в действительную ссылку.
  • IFERROR:
  • Функция ЕСЛИОШИБКА используется для возврата пользовательского результата, когда формула оценивает ошибку, и возврата нормального результата, если ошибки не возникает.

Другие статьи:

  • Удаление разрывов строк из ячеек в Excel
  • В этом руководстве представлены три формулы, которые помогут вам удалить разрывы строк (которые возникают при нажатии клавиш Alt + Enter в ячейке) из определенных ячеек в Excel.

Лучшие инструменты для работы в офисе

Kutools for Excel - поможет вам выделиться из толпы

Хотите быстро и безупречно выполнять свою повседневную работу? Kutools for Excel предлагает мощные расширенные функции 300 (объединение книг, сумма по цвету, разделение содержимого ячеек, дата преобразования и т. Д.) И экономия 80% времени для вас.

  • Рассчитан на 1500 сценариев работы, помогает решить 80% задач Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Лента Excel (с установленным Kutools for Excel)

Вкладка Office - включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Снимок экрана Excel (с установленной вкладкой Office)
Сортировать комментарии по
Комментарии (4)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за это. Хорошая формула. Как бы я изменил ее так, чтобы, если ячейка содержит только буквы, формула вводила 0 в ячейку результатов (а не просто пустую, как на данный момент)? Думал, что смогу сделать это, обернув формулу в еще один оператор IF, но я не очень далеко продвинулся.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, Гленн. Чтобы результаты отображались как пробелы, а не нули, примените следующую формулу:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
Вау, это нужно переварить 😋 Спасибо, что нашли время ответить 👍
Этот комментарий был сведен к минимуму модератором на сайте
Что это за формула для французских настроек?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места