Как определить число символов до определенного символа excel

 

Добрый день. Необходимо подсчитать количество символов слева и до знака «!» или «?».
Пример следующий — «Привет как дела! Все хорош отлично» — необходимо отразить количество символов до знака «!»

Уважаемые модераторы, уже поискал ответ на вопрос в Приемах и на Форуме, ответа не нашел.

 

_Boroda_

Пользователь

Сообщений: 1496
Регистрация: 27.07.2013

Контакты см. в профиле

Так нужно?
=МИН(ПОИСК({«.»:»!»};B2&{«.»:»!»}))
Формула массива. Вводится одновременным нажатием Контрл Шифт Ентер

Скажи мне, кудесник, любимец ба’гов…

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Решение нужно формулами, макросами?

 

формулами, макросы очень сложно. Кажется уже ответ получил, спасибо большое сейчас проверю

 

_Boroda_, спасибо огромное!!!

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

confic confov, только учтите, что если в ячейке нет, ни одного из двух знаков, то эта формула выдаст не верный результат.

Вот горшок пустой, он предмет простой…

 

_Boroda_

Пользователь

Сообщений: 1496
Регистрация: 27.07.2013

Контакты см. в профиле

#7

14.08.2017 18:10:58

Цитата
PooHkrd написал:
эта формула выдаст не верный результат

Почему неверный? Вы автор вопроса? Кто Вам сказал, что при отсутствии знаков нужно выводить не количество всех символов, а что-то иное? До тех пор, пока автор не уточнит этот момент, нет верной или неверной трактовки, есть различающиеся мнения. И вообще — я художник, я так вижу.

Скажи мне, кудесник, любимец ба’гов…

 

z_sir

Пользователь

Сообщений: 126
Регистрация: 29.07.2017

#8

14.08.2017 20:10:27

Цитата
confic confov написал:
количество символов до знака «!»

15

Код
=ДЛСТР(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;"!";ПОВТОР(" ";500));1;300)))
 
 

z_sir,спасибо, попробую и такой варианТ!

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

#11

15.08.2017 18:50:14

Цитата
_Boroda_ написал:
Почему неверный?

Потому что формула выдает позицию знака, которого нет в исходном тексте. В моем понимании это не корректный результат.
Вообще формула очень красивая, взял себе на вооружение и уже пользуюсь, за что наше вам с кисточкой. Просто предупредил ТС, чтобы учел этот момент.

И еще, я правильно понимаю, что для увеличения количества символов для поиска, достаточно просто в массивы в фигурных скобках через двоеточие их добавить? Я попробовал, но при добавлении в массивы одного знака, при вводе формулы массива у меня во всех ячейках фиксируется ссылка на ячейку B2. Кто-нибудь подскажет что я делаю не так?

Сам разобрался.


Изменено: PooHkrd16.08.2017 09:30:50

Вот горшок пустой, он предмет простой…

 

подскажите пожалуйста, добавил к формуле еще один знак — ? =MIN(SEARCH({«.»;»!»;»?»};M13&{«.»;»!»;»?»})) , но почему то теперь значение получается всегда 1, как исправить ? чтобы формула подхватывала 3 знака 1) ! 2) . 3) ?

 

_Boroda_

Пользователь

Сообщений: 1496
Регистрация: 27.07.2013

Контакты см. в профиле

#13

16.08.2017 17:34:25

Знак вопроса и звездочка для ПОИСК — подстановочные знаки. ? — 1 любой символ, * — любое количество любых символов
чтобы нацти сами ? и * нужно в ПОИСКе перед ними поставить тильду. Вот так

Код
=МИН(ПОИСК({".":"!":"~?"};B2&{".":"!":"?"}))

PooHkrd,

Цитата
PooHkrd написал:
В моем понимании это не корректный результат

Это в вашем понимании. Оно вовсе не означает, что так оно и есть на самом деле — мы же пока еще не увидели комментария автора по этому вопросу.

И, кстати, это

Цитата
PooHkrd написал:
Просто предупредил ТС, чтобы учел этот момент

и это

Цитата
PooHkrd написал:
формула выдаст не верный результат

— разные вещи.

confic confov, если при отсутствии в ячейке всех символов из поискового списка нужно выводить ноль, то вот так можно

Код
=МИН(ЕСЛИОШИБКА(ПОИСК({".":"!":"~?"};B2);""))

Скажи мне, кудесник, любимец ба’гов…

Skip to content

Функция ЛЕВСИМВ в Excel. Примеры использования и советы.

В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое.

Среди множества различных функций, которые Microsoft Excel предоставляет для работы с текстовыми данными, ЛЕВСИМВ — одна из наиболее широко применяемых. Как следует из названия, она позволяет извлекать определенное количество знаков, начиная с левой стороны текста. Однако она способна на гораздо большее, чем такая простая операция. В этом руководстве вы найдете несколько базовых формул для понимания синтаксиса, а затем я покажу вам несколько способов, с помощью которых вы можете использовать ЛЕВСИМВ далеко за пределами ее базового применения.

  • Правила синтаксиса.
  • Как получить подстроку слева от определенного символа?
  • Удаляем последние N символов.
  • Как заставить ЛЕВСИМВ вернуть число, а не текст.
  • Почему не работает?

Cинтаксис.

Функция ЛЕВСИМВ в Excel возвращает указанное количество символов (подстроку) от начала содержимого ячейки.

Синтаксис следующий:

ЛЕВСИМВ (текст; [колич_знаков])

Где:

  • Текст  (обязательно) — это текст, из которого вы хотите извлечь подстроку. Обычно предоставляется как ссылка на ячейку, в которой он записан.
  • Второй аргумент  (необязательно) — количество знаков для извлечения, начиная слева.
    • Если параметр опущен, то по умолчанию подразумевается 1, то есть возвращается 1 знак.
    • Если введенное значение больше общей длины ячейки, формула вернет всё ее содержимое.

Например, чтобы извлечь первые 6 символов из A2, запишите такое выражение:

=ЛЕВСИМВ(A2; 6)

На следующем скриншоте показан результат:

Важное замечание! ЛЕВСИМВ относится к категории текстовых функций, поэтому результатом её всегда является текстовая строка, даже если исходное значение, из которого вы извлекаете цифры, является числом. Если вы работаете с числовым набором данных и хотите, чтобы было извлечено именно число, применяйте ее вместе с функцией ЗНАЧЕН, как показано в одном из примеров ниже.

Что еще можно делать, помимо извлечения текста слева? В следующих примерах показано, как можно применять её в сочетании с другими функциями Excel для решения более сложных задач.

Как извлечь подстроку перед определенным символом.

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

Если имя и фамилия разделены пробелом, проблема сводится к определению положения этого разделителя. Это можно легко сделать с помощью функции ПОИСК или НАЙТИ .

Предположим, что полное имя находится в ячейке A2, позиция пробела возвращается по этой простой формуле: ПОИСК(» «; A2)). А теперь вы вставляете это выражение в ЛЕВСИМВ:

=ЛЕВСИМВ(A2; ПОИСК(» «; A2))

Чтобы еще немного улучшить результат, избавьтесь от конечного пробела, вычтя 1 из результата поиска. Ведь невидимые конечные пробелы могут вызвать множество проблем, особенно если вы планируете использовать извлеченные имена в других вычислениях:

=ЛЕВСИМВ(A2; ПОИСК(» «; A2)-1)

Таким же образом вы можете извлечь коды стран из столбца телефонных номеров. Единственное отличие состоит в том, что вам теперь нужно узнать позицию первого дефиса («-«), а не пробела:

=ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)

Думаю, вы поняли, что можете брать эту универсальную формулу, чтобы получить подстроку, которая предшествует любому другому знаку:

ЛЕВСИМВ( строка ; ПОИСК( символ ; строка ) — 1)

Как удалить последние N символов.

Вы уже знаете, отрезать кусочек от начала текстовой строки. Но иногда вы можете захотеть сделать что-то другое — удалить определенное количество символов из конца строки и перенести оставшееся в другую ячейку. Для этого можно также применять функцию ЛЕВСИМВ в сочетании с ДЛСТР , например:

ЛЕВСИМВ ( текст ; ДЛСТР( текст ) — число_символов_для_удаления )

Это работает с такой логикой: ДЛСТР получает общее количество символов в ячейке, затем вы вычитаете количество ненужных знаков из общей длины, а ЛЕВСИМВ возвращает оставшееся.

Например, чтобы удалить последние 7 знаков из текста в A2, запишите такое выражение:

=ЛЕВСИМВ(A2; ДЛСТР(A2)-11)

Как показано на скриншоте, формула успешно отсекает слово «продукты» (8 букв, разделитель и 2 пробела) из текстовых значений в столбце A.

При этом взять на вооружение способ, рассмотренный нами в предыдущем примере, будет очень сложно, так как все разделители разные.

Как заставить ЛЕВСИМВ возвращать число.

Как вы уже знаете, ЛЕВСИМВ в Эксель всегда возвращает текст, даже если вы извлекаете несколько первых цифр из ячейки. Для вас это означает, что вы не сможете использовать эти результаты в вычислениях или в других функциях Excel, которые работают с числами.

Итак, как заставить ЛЕВСИМВ выводить числовое значение, а не текстовую строку, состоящую из цифр? Просто заключив его в функцию ЗНАЧЕН (VALUE), которая предназначена для преобразования текста, состоящего из цифр, в число.

Например, чтобы извлечь символы перед разделителем “-” из A2 и преобразовать результат в число, можно сделать так:

=ЗНАЧЕН(ЛЕВСИМВ(A2;ПОИСК(«-«;A2;1)-1))

Результат будет выглядеть примерно так:

Как вы можете видеть на скриншоте выше, числа в столбце B, полученные с помощью преобразования, автоматически выровнены по правому краю в ячейках, в отличие от текста с выравниванием по левому краю в столбце A. Поскольку Эксель распознает итоговые данные как числа, вы можете суммировать и усреднять эти значения, находить минимальное и максимальное значение и выполнять любые другие вычисления с ними.

Это лишь некоторые из множества возможных вариантов использования ЛЕВСИМВ в Excel. 

Дополнительные примеры формул ЛЕВСИМВ можно найти на следующих ресурсах:

  • Разделить строку запятой, двоеточием, косой чертой, тире или другим разделителем
  • Как разбить текстовую строку вида «число + текст» по столбцам 
  • Подсчитайте количество символов до или после данного символа

Не работает ЛЕВСИМВ — причины и решения

Если ЛЕВСИМВ не работает на ваших листах должным образом, это, скорее всего, связано с одной из причин, которые мы перечислим ниже.

1. Аргумент «количество знаков» меньше нуля

Если ваша формула возвращает ошибку #ЗНАЧ!, то первое, что вам нужно проверить, — это значение аргумента количество_знаков. Если вы видите отрицательное число, просто удалите знак минус, и ошибка исчезнет (конечно, очень маловероятно, что кто-то намеренно поставит отрицательное число, но человек может ошибиться :)

Чаще всего ошибка #ЗНАЧ! возникает, когда этот аргумент получен в результате вычислений, а не записан вручную. В этом случае скопируйте это вычисление в другую ячейку или выберите его в строке формул и нажмите F9, чтобы увидеть результат ее работы. Если значение меньше 0, проверьте на наличие ошибок.

Чтобы лучше проиллюстрировать эту мысль, возьмем формулу, которую мы записали в первом примере для извлечения телефонных кодов страны:

ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)

Как вы помните, функция ПОИСК в наших примерах вычисляет позицию первого дефиса в исходной строке, из которой мы затем вычитаем 1, чтобы удалить дефис из окончательного результата. Если я случайно заменю -1, скажем, на -11, Эксель выдаст ошибку #ЗНАЧ!, потому что нельзя извлечь отрицательное количество букв и цифр:

2. Начальные пробелы в исходном тексте

Если вы скопировали свои данные из Интернета или экспортировали из другого внешнего источника, довольно часто такие неприятные сюрпризы попадаются в самом начале текста. И вы вряд ли заметите, что они там есть, пока что-то не пойдет не так. Следующее изображение иллюстрирует проблему:

Чтобы избавиться от ведущих пробелов на листах, воспользуйтесь СЖПРОБЕЛЫ (TRIM).

3. ЛЕВСИМВ не работает с датами.

Если вы попытаетесь использовать ЛЕВСИМВ для получения отдельной части даты (например, дня, месяца или года), в большинстве случаев вы получите только первые несколько цифр числа, представляющего эту дату. Дело в том, что в Microsoft Excel все даты хранятся как числа, представляющие количество дней с 1 января 1900 года. То, что вы видите в ячейке, это просто визуальное представление даты. Ее отображение можно легко изменить, применив другой формат.

Например, если у вас есть дата 15 июля 2020 года в ячейке A1 и вы пытаетесь извлечь день с помощью выражения ЛЕВСИМВ(A1;2). Результатом будет 44, то есть первые 2 цифры числа 44027, которое представляет 15 июля 2020г. во внутренней системе Эксель.

Чтобы извлечь определенную часть даты, возьмите одну из следующих функций:  ДЕНЬ(),  МЕСЯЦ() или  ГОД().

Если же ваши даты вводятся в виде текстовых строк, то ЛЕВСИМВ будет работать без проблем, как показано в правой части скриншота:

Вот как можно использовать функцию ЛЕВСИМВ в Excel. 

Все описанные выше операции, а также многие другие действия с текстовыми значениями в Excel вы можете выполнить при помощи специального инструмента работы с текстом, включённого в надстройку Ultimate Suite. Вот только некоторые из этих возможностей: удалить лишние пробелы и ненужные символы, изменить регистр текста, подсчитать буквы и слова, добавить один и тот же текст в начало или конец всех ячеек в диапазоне, преобразовать текст в числа, разделить по ячейкам, извлечь отдельные слова, найти дубликаты слов.

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Содержание

  1. Подсчет количества определенных символов в ячейке excel
  2. Описание функции
  3. Пример 1
  4. Пример 2
  5. Пример 3
  6. Пример 4
  7. Пример 5
  8. Пример 6
  9. Альтернатива данной функции
  10. Функции подстроки Excel для извлечения текста из ячейки
  11. Как извлечь подстроку определенной длины
  12. Извлечь подстроку из начала строки (СЛЕВА)
  13. Получить подстроку с конца строки (ВПРАВО)
  14. Извлечь текст из середины строки (MID)
  15. Извлечь подстроку до или после заданного символа
  16. Как извлечь текст перед определенным символом
  17. Как извлечь текст после символа
  18. Как извлечь текст между двумя экземплярами символа
  19. Как найти подстроку в Excel
  20. Как извлечь текст из ячейки с помощью Ultimate Suite для Excel
  21. Дополнительные формулы для подстрок в Excel

Подсчет количества определенных символов в ячейке excel

Описание функции

Функция =СЧЁТСИМВЛ(ТЕКСТ, СИМВОЛ) имеет два обязательных аргумента:

  • ТЕКСТ — Строка, в которой необходимо посчитать количество символов.
  • ШАБЛОН — Символ, который необходимо посчитать.

Если вы забыли синтаксис данной функции, вы всегда сможете вызвать формулу из выпадающего списка функций в надстройке.

Теперь к практике. Далее привожу множество примеров использования данной функции.

Пример 1

Посчитать количество пробелов в тексте.

Пример 2

Посчитать количество заданных символов.

Пример 3

Посчитать количество символов не обращая внимание на регистр.

Пример 4

Посчитать количество слов в тексте.

Пример 5

Посчитать количество слов в тексте не обращая внимания на двойные пробелы.

Пример 6

Посчитать количество всех символов в строке за исключением пробелов.

Альтернатива данной функции

Excel позволяет пользователям достичь правильного решения разными путями. Данная формула не исключение. Заменить данную функцию можно с помощью двух других: ДЛСТР и ПОДСТАВИТЬ. Чтобы определить количество заданного символа сначала определите длину всего текста функцией ДЛСТР, а затем отнимите от этого значения длину этого же текста, только с предварительно удаленными символами (которые вы ищите): =ДЛСТР(B13)-ДЛСТР(ПОДСТАВИТЬ(B13;» «;»»)). В файле для скачивания приведены конкретные примеры.

Источник

Функции подстроки Excel для извлечения текста из ячейки

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

Прежде чем мы начнем обсуждать различные методы работы с подстроками в Excel, давайте уделим немного времени определению термина, чтобы мы могли начать с той же страницы. Итак, что такое подстрока? Проще говоря, это часть текстовой записи. Например, если вы наберете что-то вроде «AA-111» в ячейке, вы назовете это буквенно-цифровая строкаи любая часть строки, скажем, «AA», будет подстрока.

Хотя в Excel нет такой функции, как функция подстроки, существуют три текстовые функции (LEFT, RIGHT и MID) для извлечения подстроки заданной длины. Кроме того, есть функции НАЙТИ и ПОИСК для получения подстроки до или после определенного символа. И есть несколько других функций для выполнения более сложных операций, таких как извлечение чисел из строки, замена одной подстроки на другую, поиск частичного совпадения текста и т. д. Ниже вы найдете примеры формул для выполнения всего этого и многого другого. .

Как извлечь подстроку определенной длины

Microsoft Excel предоставляет три различные функции для извлечения текста заданной длины из ячейки. В зависимости от того, где вы хотите начать извлечение, используйте одну из следующих формул:

  • Функция LEFT — извлечь подстроку слева.
  • Функция ПРАВО — извлечь текст справа.
  • Функция MID — для извлечения подстроки из середины текстовой строки, начиная с указанной вами точки.

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

Извлечь подстроку из начала строки (СЛЕВА)

Чтобы извлечь текст слева от строки, вы используете функцию Excel LEFT:

Где текст адрес ячейки, содержащей исходную строку, и num_chars количество символов, которые вы хотите извлечь.

Например, чтобы получить первые 4 символа из начала текстовой строки, используйте следующую формулу:

=ЛЕВО(A2,4)

Получить подстроку с конца строки (ВПРАВО)

Чтобы получить подстроку из правой части текстовой строки, воспользуйтесь функцией Excel ПРАВИЛЬНО:

Например, чтобы получить последние 4 символа с конца строки, используйте следующую формулу:

=ВПРАВО(A2,4)

Извлечь текст из середины строки (MID)

Если вы хотите извлечь подстроку, начинающуюся в середине строки, в указанной вами позиции, то MID — это функция, на которую вы можете положиться.

По сравнению с двумя другими текстовыми функциями, MID имеет несколько иной синтаксис:

MID(текст, start_num, num_chars)

Помимо текст (исходная текстовая строка) и num_chars (количество символов для извлечения), вы также указываете start_num (отправная точка).

В нашем примере набора данных, чтобы получить три символа из середины строки, начинающейся с 6-го символа, вы используете следующую формулу:

=СРЕДНЕЕ(A2,6,3)

Кончик. Вывод формул Right, Left и Mid всегда является текстом, даже если вы извлекаете число из текстовой строки. Если вы хотите оперировать результатом как числом, оберните формулу в функцию ЗНАЧЕНИЕ следующим образом:

= ЗНАЧЕНИЕ (СРЕДНЕЕ (A2,6,3))

Извлечь подстроку до или после заданного символа

Как показано в приведенных выше примерах, функции Left, Right и Mid прекрасно справляются с однородными строками. Когда вы имеете дело с текстовыми строками переменной длины, потребуются более сложные манипуляции.

Примечание. Во всех приведенных ниже примерах мы будем использовать функцию SEARCH без учета регистра, чтобы получить позицию символа. Если вам нужна формула с учетом регистра, используйте функцию НАЙТИ.

Как извлечь текст перед определенным символом

Чтобы получить подстроку, предшествующую заданному символу, нужно сделать две вещи: сначала определить позицию интересующего символа, а затем вытянуть все символы перед ним. Точнее, вы используете функцию ПОИСК, чтобы найти положение символа, и вычитаете 1 из результата, потому что вы не хотите включать сам символ в вывод. А затем вы отправляете возвращенный номер непосредственно на num_chars аргумент ЛЕВОЙ функции:

Например, чтобы извлечь подстроку перед символом дефиса (-) из ячейки A2, используйте следующую формулу:

Независимо от того, сколько символов содержит ваша строка Excel, формула извлекает только текст до первого дефиса:

Как извлечь текст после символа

Чтобы получить текст после определенного символа, вы используете несколько иной подход: получите позицию символа с помощью ПОИСК или НАЙТИ, вычтите это число из общей длины строки, возвращаемой функцией ДЛСТР, и извлеките столько же символов из конца строки. Струна.

В нашем примере мы будем использовать следующую формулу для извлечения подстроки после первого дефиса:

=ВПРАВО(A2,ДЛСТР(A2)-ПОИСК(«-«,A2))

Как извлечь текст между двумя экземплярами символа

Чтобы получить подстроку между двумя вхождениями определенного символа, используйте следующую общую формулу:

Первые два аргумента этой формулы MID предельно ясны:

Текст это ячейка, содержащая исходную текстовую строку.

Start_num (начальная точка) — простая формула ПОИСК возвращает позицию нужного символа, к которой вы добавляете 1, потому что хотите начать извлечение со следующего символа.

Num_chars (количество символов для извлечения) — самая сложная часть:

  • Во-первых, вы определяете положение второго вхождения символа, вкладывая одну функцию поиска в другую.
  • После этого вы вычитаете позицию 1-го вхождения из позиции 2-го вхождения и вычитаете 1 из результата, так как вы не хотите включать символ-разделитель в результирующую подстроку.

Например, чтобы извлечь текст, окруженный двумя дефисами, вы должны использовать эту формулу:

=СРЕДН(A2, ПОИСК(«-«,A2) + 1, ПОИСК(«-«,A2,ПОИСК(«-«,A2)+1) — ПОИСК(«-«,A2) — 1)

На скриншоте ниже показан результат:

Если вы хотите извлечь текст между 2-м и 3-м или 3-м и 4-м вхождением одного и того же символа, вы можете использовать более компактную комбинацию ПОИСК ПОДСТАВКИ, чтобы получить позицию символа, как описано в разделе Как найти N-е вхождение символа в строку. :

В нашем случае мы могли бы извлечь подстроку между 2-м и 3-м дефисом по следующей формуле:

=MID(A2, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1),2))+1, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1) ,3)) — НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(A2,»-«,СИМВОЛ(1),2))-1)

Как найти подстроку в Excel

В ситуациях, когда вы не хотите извлекать подстроку, а хотите найти только ячейки, содержащие ее, вы используете функцию ПОИСК или НАЙТИ, как показано в приведенных выше примерах, но выполняете поиск внутри функции ЕСНИМ. Если ячейка содержит подстроку, функция поиска возвращает позицию первого символа, и если ISNUMBER получает любое число, она возвращает TRUE. Если подстрока не найдена, поиск приводит к ошибке, заставляя ISNUMBER возвращать FALSE.

Предположим, у вас есть список британских почтовых индексов в столбце A, и вы хотите найти те, которые содержат подстроку «1ZZ». Чтобы это сделать, используйте эту формулу:

Результаты будут выглядеть примерно так:

Если вы хотите вернуть собственное сообщение вместо логических значений ИСТИНА и ЛОЖЬ, вложите приведенную выше формулу в функцию ЕСЛИ:

=ЕСЛИ(IЧИСЛО(ПОИСК(«1zz», A2)), «Да», «»)

Если ячейка содержит подстроку, формула возвращает «Да», в противном случае — пустую строку («»):

Как вы помните, функция ПОИСК в Excel нечувствительна к регистру, поэтому вы используете ее, когда регистр символов не имеет значения. Чтобы ваша формула различала прописные и строчные буквы, выберите функцию НАЙТИ с учетом регистра.

Дополнительные сведения о том, как найти текст и числа в Excel, см. в разделе Если ячейка содержит примеры формул.

Как извлечь текст из ячейки с помощью Ultimate Suite для Excel

Как вы только что видели, Microsoft Excel предоставляет множество различных функций для работы с текстовыми строками. Если вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте задание нашему Ultimate Suite for Excel. Имея эти инструменты в своем арсенале Excel, вы просто переходите к Данные об аблебитах вкладка > Текст группу и нажмите Извлечь:

Теперь вы выбираете исходные ячейки и любые сложные строки, которые они содержат, извлечение подстроки сводится к этим двум простым действиям:

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после заданного символа.
  2. Нажмите Вставить результаты. Сделанный!

Например, чтобы получить доменные имена из списка адресов электронной почты, выберите Все после текста переключатель и введите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите Все перед текстом переключатель, как показано на скриншоте ниже.

И через мгновение вы получите следующие результаты:

Помимо скорости и простоты, инструмент Извлечь текст имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции работы с подстроками в частности. Как? Установив флажок «Вставить как формулу» в нижней части панели, вы гарантируете, что результаты выводятся в виде формул, а не значений.

В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:

    Чтобы извлечь имя пользователя:

Чтобы извлечь домен:

=ЕСЛИОШИБКА(ПРАВО(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)

Сколько времени у вас ушло бы на то, чтобы вычислить эти формулы самостоятельно? 😉

Поскольку результаты представляют собой формулы, извлеченные подстроки будут обновляться автоматически, как только в исходные строки будут внесены какие-либо изменения. Когда в ваш набор данных добавляются новые записи, вы можете копировать формулы в другие ячейки, как обычно, без необходимости заново запускать инструмент «Извлечь текст».

Если вам интересно попробовать это, а также многие другие полезные функции, включенные в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию.

Дополнительные формулы для подстрок в Excel

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

Источник

0 / 0 / 0

Регистрация: 29.08.2010

Сообщений: 13

1

Определить количество знаков до второго пробела в ячейке

01.09.2010, 14:52. Показов 38348. Ответов 34


Студворк — интернет-сервис помощи студентам

Помогите пожалуйста с формулой (именно формула, а не макрос ) что бы посчитать количество знаков до второго пробела в ячейке?

Тесть есть символы в ячейке разделенные одним пробелом g1ht* kdjf1R 265kllzS T6xklcjxTQ
Нужна формула которая выдаст количество знаков по R то есть в данном случае 12. Пробел между словами всегда один.



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

01.09.2010, 14:57

2

Код

=НАЙТИ(" ";A1;НАЙТИ(" ";A1)+1)-1

g1ht* kdjf1R 265kllzS T6xklcjxTQ в А1.



1



здесь больше нет…

3372 / 1670 / 184

Регистрация: 03.02.2010

Сообщений: 1,219

01.09.2010, 14:58

3

=НАЙТИ(» «;A1;НАЙТИ(» «;A1)+1)-1



1



0 / 0 / 0

Регистрация: 29.08.2010

Сообщений: 13

01.09.2010, 16:08

 [ТС]

4

Цитата
Сообщение от аналитика
Посмотреть сообщение

=НАЙТИ(» «;A1;НАЙТИ(» «;A1)+1)-1

К сожалению не работает.

Добавлено через 6 минут
=ПОИСК(» «,A1,ПОИСК(» «,A1)+1)-1
Все подправил, сейчас работает. Serge 007 и Аналитика спасибо большое.



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

27.10.2012, 15:21

5

Блин, а почему у меня не получается так сделать и при вводе этой формулы выдаёт ошибку



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

27.10.2012, 16:21

6

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



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

27.10.2012, 16:33

7

Спасибо, но я уже разобралась. У меня была такая же проблема, что и у автора темы и предложенная ему формула у меня не работала, а заработала вот эта: =НАЙТИ(» «;A1;НАЙТИ(» «;A1)+1)

Добавлено через 9 минут
Но работает она только тогда, когда её копируешь из вёрда например и вставляешь в строку для формул. Если же я пишу её от руки или пользуюсь Аргументом функций, то снова выдаёт ошибку…..



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

27.10.2012, 16:55

8

Обе работают.
Возможно была беда в разделителях.



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

27.10.2012, 17:00

9

Вот моё задание в файле. Всё работает, только тогда, когда я копирую эту формулу откуда-то, а когда набираю вручную, то ошибка!



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

27.10.2012, 17:04

10

Если пишу формулу вручную НАЙТИ (» «;А1)+1 в аргументе функций в строке «Нач_позиция», пишет ошибку «Недопустимое» или «#ИМЯ»



0



2633 / 1333 / 255

Регистрация: 25.10.2010

Сообщений: 2,194

27.10.2012, 17:07

11

С вероятностью 90%: набираете вручную РУССКУЮ букву А в адресе ячейки



2



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

27.10.2012, 17:11

12

Цитата
Сообщение от Pelena
Посмотреть сообщение

С вероятностью 90%: набираете вручную РУССКУЮ букву А в адресе ячейки

И вы правы, вручную набирала, вот тупанула))))) Спасибо большое



0



Памирыч

28.10.2012, 02:02

Не по теме:

Pelena, Не в первый раз замечаю, как Вы с первого раза «угадываете» решение проблемы пользователя. Экстрасенс? (вопрос риторический, отвечать не нужно)



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

28.10.2012, 15:19

14

У меня ещё 1 вопрос. Хотела создать новую тему по этому вопросу, но не получается.
Вопрос следующий: У меня такое задание: Проставить в столбцах В и С значения 1 при условии, что в столбце А есть соответствие названия столбцов. Если же такого соответствия нет, то ставим 0.
Я формулу написала, но оно проставляет «1» и «0» только напротив тех слов, где они стоят самостоятельно в строке. Если же в строке с нужным словом ещё какое-либо слово, то просто выставляются нули. Что я не правильно делаю?)



0



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

28.10.2012, 15:53

15

Visual Basic
1
=--ЕЧИСЛО(ПОИСК("фарфор";A2;1))



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

28.10.2012, 16:00

16

Всё-равно нули дальше показывает



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

28.10.2012, 16:24

17

Формула для выложенной вами книги, формулу поместите в ячейку B2:

Код

=ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($B$1;A2);0)>0;1;0)



0



0 / 0 / 0

Регистрация: 27.10.2012

Сообщений: 13

28.10.2012, 16:28

18

Так и сделала, пишет ошибку: #ИМЯ?



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

28.10.2012, 16:29

19

Цитата
Сообщение от Yulia_eL
Посмотреть сообщение

Всё-равно нули дальше показывает

Голословные утверждения!



1



2633 / 1333 / 255

Регистрация: 25.10.2010

Сообщений: 2,194

28.10.2012, 16:32

20

Еще вариант (в ячейку B2)

Код

=--ЕЧИСЛО(НАЙТИ(B$1;$A2))

Можно копировать как вниз, так и вправо



0



Рассказываю, как с помощью регулярных выражений или просто Excel вывести часть текста до определенного символа или текста. Задача интересная и встречающаяся повсеместно.

Рассмотрим реальный пример в Excel. У нас есть колонка разных значений. Если разных значений очень много, то автозаменой очистить список не получится, а нам необходимо получить всё слева без скобочек.

Вывод части текста с помощью регулярных выражений

Для вывода значений ячейки до знака скобки необходимо воспользоваться регулярными выражениями. Но поскольку формула есть только в Гугл Таблицах, нужно скопировать столбец туда и использовать формулу =REGEXEXTRACT(B3,»^[^(]*»).

Вывод части текста до символа

Разбор формулы

Давайте разберём формулу.

REGEXEXTRACT — это стандартная функция для извлечения данных с помощью регулярного выражения.B3 — ячейка с текстом^[^(]* — само регулярное выражение, которое говорит следующее.

Вывод части текста до символа с помощью Excel

Можно всё сделать проще с помощью поиска и замены в Excel.

Для этого просто выделяем нужные данные и жмём ctrl+H. Для поиска ставим » (*» — замена всего до знака пробела и скобки включая её. Если нужно заменить после знака скобки, то меняем положение на *(.

Жмём заменить всё и получаем чистый список. Вуаля!

Подсчет количества символов до точки

konst_03

Дата: Понедельник, 02.11.2015, 19:26 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Всем привет! Есть ячейка с текстом. Несколько предложений. Помогите составить формулу подсчета количества знаков до конца первого предложения. Сам сообразить что-то не в силах сегодня. Или направьте где копать. Спасибо.

 

Ответить

TimSha

Дата: Понедельник, 02.11.2015, 19:31 |
Сообщение № 2

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

Выбирайте: =НАЙТИ() или =ПОИСК(). Первая точка, однако… ;)


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

Описание функции

Функция =СЧЁТСИМВЛ(ТЕКСТ, СИМВОЛ) имеет два обязательных аргумента:

  • ТЕКСТ — Строка, в которой необходимо посчитать количество символов.
  • ШАБЛОН — Символ, который необходимо посчитать.

Если вы забыли синтаксис данной функции, вы всегда сможете вызвать формулу из выпадающего списка функций в надстройке.

Теперь к практике. Далее привожу множество примеров использования данной функции.

Пример 1

Посчитать количество пробелов в тексте.

Пример 2

Посчитать количество заданных символов.

Пример 3

Посчитать количество символов не обращая внимание на регистр.

Пример 4

Посчитать количество слов в тексте.

Пример 5

Посчитать количество слов в тексте не обращая внимания на двойные пробелы.

Пример 6

Посчитать количество всех символов в строке за исключением пробелов.

Альтернатива данной функции

Excel позволяет пользователям достичь правильного решения разными путями. Данная формула не исключение. Заменить данную функцию можно с помощью двух других: ДЛСТР и ПОДСТАВИТЬ. Чтобы определить количество заданного символа сначала определите длину всего текста функцией ДЛСТР, а затем отнимите от этого значения длину этого же текста, только с предварительно удаленными символами (которые вы ищите): =ДЛСТР(B13)-ДЛСТР(ПОДСТАВИТЬ(B13;» «;»»)). В файле для скачивания приведены конкретные примеры.

Excel количество определенных символов в ячейке

Подсчет вхождений в MS EXCEL Букв (Символов) в ТЕКСТовой строке

​Смотрите также​ ЮрияМ.​: Смотря что у​ar = Cells(Rows.Count,​

​Cells(i, 5) =​AVI​ excel как будет​:​​ 1​​ Меня интересует кол-во​

​ ) =3​ отличаются.​Serge_007​Уточняю второй вопрос​ (включая и «=»​
​Аналогичная формула =СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11); <«1″;»2″>;»»)))​

​ вхождений некоторой последовательности​Найдем количество вхождений определенной​2. Формула, показанная​ вас в А1,​
​ 4).End(xlUp).Row​

​ CStr(13 — Len(Trim(Cells(i,​: Добрый день!​ звучать функция?​0mega​
​trig = True​

​ может подсчитать количество​ символов в текстовой​ Буквы или любого​ в этой теме.​ дата или текст. ​

Подсчет символов в диапазоне в MS EXCEL

​For i =​ 4))) & Trim(Cells(i,​В столбце D​

​нашла уже, спасибо​,​​Else​​Serge_007​

​:​: Да, конечно.​0mega​
​(0mega)200?’200px’:»+(this.scrollHeight+5)+’px’);»>вопрос 2-ой​

​P.S.​ цифр (1 и​
​ строке.​

​ символа в ячейке​Или Вы видите​Юрий М​ 3 To ar​​ 4)))​​ число с количеством​
​ LEN​

​По второму вопросу. ​trig = False​: Макрофункции — это​kim​=(47+В3-2)/D5-12 =4​

​, вчитайтесь в вопрос​​A1=(47+В3-2)/D5-12​​если эти 2​ 2) в диапазонах​О поиске позиции n-го​ EXCEL.​ только свое сообщение?​: Скопируйте название своей​Cells(i, 5) =​Next i​ цифр от 7​Подскажите пожалуйста как в​0mega​

Счет определенных символов в ячейке

​End If​​ не ВБА, как​
​, здравствуйте​
​- это не​
​_Boroda_​
​кол-во цифр ?​ вопроса имеют отличие​

​ с числами. ​
​ вхождения буквы в​
​Определим, сколько букв Z​
​аррр​ темы в окно​ Format(Cells(i, 4), «’0000000000000»)​

​End Sub​
​ до 12-ти​ Excel показать количество​:​Next​ Вы его понимаете​Я прекрасно понимаю,​

​ набор случайных символов.​​:​кол-во математических знаков?​ в решении, тогда​

​Пусть в диапазоне​
​ слове или в​

​ в слове Zigzag​: Спасибо!​ поиска и выбирайте,​Next i​Я определил сколько​Мне необходимо в​ определённых символов. В​

​kim​​MsgBox x​​Hugo​​ что этот вопрос​
​Это совокупность математических​

​Quote​ (включая и «=»​
​ просьба к модераторам​

​А7:A11​​ текстовой строке можно​
​ (слово находится в​
​Numit​
​ что Вам больше​End Sub​ нулей добавить, но​
​ столбец Е добавить​​ частности есть таблица​​,​​End Sub​​: VBA​​ не вписывается в​​ действий с конкретными​​(_Boroda_)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Вы хотите выковырять​
​ )​ перенести 2-ой вопрос​содержатся числа 1;​
​ прочитать здесь.​​ ячейке​​: Помогите пожалуйста,​​ подходит.​​AVI​​ как заставить их​​ эти же числа​​ с размерами. Нужно​​Спасибо,​​_Boroda_​

​Запятую грубо уничтожаем.​​ =ЕСЛИ(. )​​ числами и ячейками.​​ кол-во цифр из​​кол-во цифр: A1=(​​ в отдельную тему​
​ 22; 123; 8;​​Найдем количество вхождений определенного​A1​как формулой посчитать​Guest​​:​​ добавиться я не​ так, что бы​

​ суммировать сколько например​​Интересное решение со​​: Формулами​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub tt()​
​Учитывая, то обстоятельство​ И если топнуть​ формулы, которая выдает​47​_Boroda_​
​ 5. Формула, приведенная​ символа в диапазоне​).​
​ количество знаков в​: Спасибо нашел. =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;».»;»»))​_Boroda_​ знаю​

​ общее их количество​​ размеров L и​
​ знаками​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+ЕОШИБКА(-ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1))=2))-СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+(ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1)=»,»)+ЕЧИСЛО(-ПСТР(A1&»»;СТРОКА(ДВССЫЛ(«A3:A»&ДЛСТР(A1)+2));1))=3))​Dim s As​
​ , что это​ на Enter то​ в ячейке​+В3-​: Пара вариантов по​ выше, вернет 5,​ ячеек.​Формула для подсчета символа​
​ ячейке?​
​ — работает как​, Е-мае, точно. Спасибо.​StoTisteg​ было 13, а​ сколько XL. Беда​
​Numit​Последний кусок — исключительно​
​ String, i As​ вопрос не из​​ в ячейка А1​значение​2​
​ первому вопросу во​ т.к. в диапазоне​Определим, сколько букв Z​

​ Z в слове​​Заранее спасибо​​ часы ))​​Марат​
​:​ недостающие заменить нулями​ в том, что​: Помогите пожалуйста,​
​ для борьбы с​ Long, x As​ серии «МНЕ ОБЯЗАТЕЛЬНО​ будет результат вычисления​(то есть формат​)/D5-​ вложении​ содержится две цифры​ содержится в диапазоне​ Zigzag (с учетом​mazayZR​Юрий М​: Добрый день​Cells(i, 5)=Cstr(Trim(Cells(i, 5)))​ в начале числа.​

​ формулы которые я​​как формулой посчитать​ запятой. Если все​ Long​ НАДО. Я СКОПИРУЮ​ (напр 53,6451)​ ячейки не текстовый)?​

​12​​=ДЛСТР(B1)-ДЛСТР(ПОДСТАВИТЬ(B1;B2;»»))​ 1 (в числах​А7:A11​

​ регистра), см. файл​​: =ДЛСТР(A1)​
​: А если всегда​
​Помогите подсчитать количество​
​For j=13 to​То есть 41533892​ нашёл​ количество знаков в​
​ числа целые, то​Dim trig As​
​ И ВСТАВЛЮ . ​P.S.​kim​=​
​<=СУММ(—(ПСТР(B1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(B1)));1)=B2))>​ 1 и 123)​
​.​ примера:​
​Numit​ начинать с поиска?​
​ символов в ячейке.​ Len(Cells(i, 5).Value) Step​ должно поменяться на​например​
​ ячейке?​
​ попроще​
​ Boolean​
​ » а относится​
​Оказывается , я​
​:​
​3​

​По второму — Вы​​ и три цифры​
​Формула для подсчета (с​

​=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;»Z»;»»))​: Спасибо, а то​ :-))​ Пример ячейка A1​ -1​
​ 0000041533892, а 31404053​

​=СУММПРОИЗВ (ДЛСТР ($E$2:$E$47)-ДЛСТР​

​Заранее спасибо​​Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(—(ЕЧИСЛО(-ПСТР(A1;СТРОКА(ДВССЫЛ(«A1:A»&ДЛСТР(A1)));1))+ЕОШИБКА(-ПСТР(A1&» «;СТРОКА(ДВССЫЛ(«A2:A»&ДЛСТР(A1)+1));1))=2))​

​s = «За​​ к «ХОЧУ ЗНАТЬ»​​ так же не​​0mega​​кол-во математических знаков?​​ хотите выковырять кол-во​
​ 2 (в числах​ учетом РЕгиСТра), см.​

​Формула для подсчета символа​​ прям вся измучалась​​Сергей​​ «1.09» и A2​
​Cells(i, 5)=»0″ &​

​ на 0000031404053​​ (ПОДСТАВИТЬ (ПРОПИСН ($E$2:$E$47);<«L»>;»»)))​​mazayZR​​формулы массива​
​ 2 дня оштрафовали​
​ и еще сюда​ могу выковырять цифры​

Как посчитать количество знаков в ячейке?

​,​​ (включая и «=»​
​ цифр из формулы,​ 22 и 123).​ файл примера:​
​ Z (или z)​

​ :)​​: Есть формула которая​

​ «10» какую можно​​ Cells(i, 5)​Формулой получается так​или​

​: =ДЛСТР(A1)​​MCH​ 18 водителей на​ приплюсовать что я​

​ и из текста​​Если запись в​ )​ которая выдает в​
​0mega​=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(A7:A11;B4;»»)))​

Подсчёт определённого количества символов в ячейке Excel

​ в слове Zigzag​Guest​ производит подсчет необходимых​ использовать функцию что​Next j​=ПОВТОР(«0″;13-ДЛСТР(D3))&D3​=СУММПРОИЗВ (ДЛСТР (E2:E27)-ДЛСТР​Numit​: =СУММПРОИЗВ(ЕЧИСЛО(—ПСТР(ПОДСТАВИТЬ(A1;»,»;»»);СТОЛБЕЦ(A:IU);1))*ЕОШ(—ПСТР(ПОДСТАВИТЬ(A1;»,»;»»);СТОЛБЕЦ(A:IU)+1;1)))​ 142,56 руб «​ в VBA-командах ,​

​ ячейке A1 является​A1​

​ ячейке значение (то​

​: Доброго времени суток.​Формула для подсчета (без​

​ (без учета РЕгиСТра):​: а в английском​ знаков в ячейке.​ бы мне подсчитало​Не проверял, но​А как добавлять​

​ (ПОДСТАВИТЬ (E2:E27;»L»;»»)))​​: Спасибо, а то​

Добавить определённое количество символов в ячейку (Макросы/Sub)

​0mega​​s = Replace(s,​
​ все равно, не​поэтому еще 1​ формулой, а не​=​
​ есть формат ячейки​2003​ учета РЕгиСТра):​=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»))​ excel как будет​К примеру в​ сколько раз в​ попробуйте, должно работать​
​ определенное количество нулей​подсчитывают количество букв​ прям вся измучалась​:​
​ «,», «»)​ ​ смогу разобраться -​
​ доп вопрос​ текстом прийдется использовать​(47​ не текстовый)?​
​вопрос 1-й​
​=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11);»z»;»»)))​Для подсчета количества пробелов​
​ звучать функция?​ с лове «1)​
​ ячейке А1 и​_Boroda_​ в код я​ L и в​
​ :)​
​MCH​
​For i =​ поэтому ответ не​ячейка D1 содержит​ макрофункции.​+​

​0mega​​водоотвод​ ​Формула для одновременного подсчета​
​ (код символа пробела​Guest​ лжлордыаоррфвдао, 2) орапдолрп,​
​ сколько в ячейке​: Обязательно реально нули​
​ не знаю​ ​ ячейках с XL​Guest​

​,​​ 1 To Len(s)​ является обязательным​ тект:​И в любом​
​В3-2)​
​:​
​кол-во букв «о»​ символов Z и​
​ — 32) в​: а в английском​
​ 3) длорааываы» подщитать​ А2 есть символ​
​ добавить? Просто поставить​
​КодSub ffff()​

​ тоже. И соответственно​​: а в английском​​_Boroda_​​If IsNumeric(Mid(s, i,​

Подсчет символов в ячейке

​Quote​​За 2 дня оштрафовали​

​ случае решение будет​/​to_Boroda_​ ?​ цифры 1 в​ ячейке используйте формулу:​ excel как будет​ количество «)»​ «.» тоесть результат​ формат «0000000000000» не​ar = Cells(Rows.Count,​ сумма больше нужной​ excel как будет​,​

​ 1)) Then​​(kim)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Да, еще, понятия:​ 18 водителей на​ тяжелым.​

​D5​​,​вопрос 2-ой​ диапазоне​=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);»»))​ звучать функция?​

​vikttur​​ В1 = «1»​ подойдет?​ 4).End(xlUp).Row​

​ получается.​​ звучать функция?​благодарю за уделенное​If trig =​

​ количество чисел и​​ 142,56 руб​Да, еще, понятия:​-​

​Александр, здравствуйте​A1=(47+В3-2)/D5-12​А7:A11​В статье Подсчет вхождений​нашла уже, спасибо​

​: Есть.​​ В2 = «0»​
​Макросом можно так​For i =​
​Xraptorx​Guest​
​ время​ False Then x​

​ количество цифр несколько​​подсчитать кол-во чисел​

Как посчитать количество знаков в ячейке?

​ количество чисел и​​12 =​
​Это идеальное решение первого​кол-во цифр ?​(без учета РЕгиСТра):​
​ последовательности символов показано,​

​ LEN​​1. По совету​

​Guest​​Sub tt()​ 3 To ar​: да, формулой счетесли​

​: а в английском​​kim​ = x +​ отличаются. Правильное замечание.​

​ (2 18 142,56​​ количество цифр несколько​4​ вопроса​
​кол-во математических знаков?​=СУММПРОИЗВ(ДЛСТР(A7:A11)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A7:A11); <«z»;»1″>;»»)))​

  • Первые N символов – формула в Excel
  • Разбить столбец по количеству символов
  • Извлечь первые символы автозаполнением
  • Извлечь первые символы с помощью регулярных выражений
  • Оставить первые / последние N символов в строке в 1 клик

Простейшая задача – взять и отделить от ячейки первый символ, скопировав его в соседний столбец. Или выбрать и оставить в ней первые 2, 3, 4… N символов.

Например, в строках переменной длины первые 6 символов – определенный цифровой код, который нужно скопировать в отдельный столбец.

Или задача является частью другой, где нужно сделать первую букву ячейки заглавной, а для этого, ее нужно вытащить из ячейки.

Рассмотрим все известные решения, снабдив их примерами. Итак, поехали.

Вытащить первый символ или N символов ячейки формулой проще простого. И есть даже 2 функции Excel, которые в этом помогут:

  1. ЛЕВСИМВ;
  2. ПСТР.

А так будут выглядеть формулы, извлекающие первые N символов из ячейки A1. Подставьте свое число вместо N, чтобы формулы работали:

Заметное отличие первой функции от второй — в отсутствии параметра, отвечающего за позицию, с которой начинается извлечение. Поэтому, если вычислить позицию первого вхождения определенного символа в ячейке, с помощью этой функции можно извлечь его, даже если он не является первым символом строки.

Например:

  • извлечь текст после цифр
  • извлечь первые N цифр
  • сделать первую букву ячейки заглавной

Разбить столбец по количеству символов

Можно получить первые N символов столбца, разбив его по количеству символов. Первые N останутся, а остальные будут перенесены в соседний справа. Можно разбить и на несколько — Excel не ставит ограничений на количество столбцов.

извлечение первых символов разбивкой текста по столбцам

Разбиваем столбец на два, оставляя в нем первые 6 символов и переносим оставшиеся в соседний

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

  • разбивка по столбцам не сохраняет исходный столбец
  • это единоразовая процедура, в отличие от формул, которые пересчитываются при обновлении данных
  • удобный момент — одна процедура создает сразу несколько столбцов
  • направление разбивки — только вправо
  • если справа есть данные, они могут быть перезаписаны, если не отменить операцию и не создать пустой столбец/столбцы.

Извлечь первые символы автозаполнением

Автозаполнение – замечательная процедура в Excel. Алгоритм действий прост.

  1. Заполняем пару ячеек соседнего столбца вручную;
  2. Уже при вводе третьей может быть предложено автозаполнение;
  3. Если согласны – жмём клавишу Ввод (Enter).

Однако с этой процедурой нужно быть осторожным. Алгоритм, который используется при автозаполнении, не показывается, поэтому результат может не соответствовать ожиданиям. Обычно алгоритм можно «доучить», чтобы он понял, что от него хотят.

пример работы автозаполнения в Excel

Автозаполнение предлагает извлечь все цифры вначале строки, а не первые две, но алгоритм можно “доучить”.

Извлечь первые символы с помощью регулярных выражений

Чтобы выбрать из строки символы по регулярным выражениям, в Google Spreadsheets доступна функция REGEXEXTRACT. Там она существует уже очень давно.

А вот Microsoft не столь серьезно озадачились вопросом – официально регулярные выражения в Excel существуют только как подключаемый модуль VBA. Поэтому доступны очень узкому кругу посвященных специалистов с навыками программирования на нем.

Чтобы сделать их необычайно гибкий синтаксис доступным обычным пользователям, я включил их поддержку в формулы и процедуры своей надстройки !SEMTools.

Подробно тут – регулярные выражения в Excel и примеры регулярных выражений. А ниже на картинке – примеры формул, которые позволят извлечь первые N символов, в том числе букв или цифр по отдельности, из любой ячейки.

регулярные выражения по извлечению особых первых символов
Извлекаем первые символы с дополнительными условиями с помощью регулярных выражений

Функции доступны абсолютно бесплатно и работают при подключенной надстройке !SEMTools для Excel даже в стартовой версии.

Оставить первые / последние N символов в строке в 1 клик

Ну и напоследок – на панели !SEMTools доступны процедуры, позволяющие максимально легко и быстро выбрать первые или последние символы из ячеек.

Можно выделять одну ячейку, несколько, целый столбец или даже несколько несвязанных диапазонов – процедура обработает все выделенные данные. При желании можно вернуться назад на 1 шаг.

Если активна опция «Выводить результат справа», исходные данные не меняются, а извлеченные символы выводятся в соседний столбец/столбцы.

Смотрите демонстрацию ниже:

Как взять первые символы из ячеек Excel с помощью !SEMTools

Берем и вытаскиваем из произвольных ячеек первые / последние символы в 1 клик

Процедуры доступны в полной версии надстройки, но попробовать можно и бесплатно.

Жмите кнопку ниже, чтобы скачать и подключить надстройку к вашему Excel! Процедура займет всего пару минут.

Если вы оказались на этой странице, то наверняка сталкиваетесь с другими похожими задачами.
Сотни инструментов надстройки для Excel !SEMTools помогут решить эти задачи буквально в один клик!

Доброго времени суток, сегодня я бы хотел рассказать о том, как с помощью Excel можно получить текст из ячейки до и после определенного символа.

Рассмотрим пример

У нас в ячейки есть текст

Добро пожаловать на (гдз-класс.рф) — отличный сайт в помощи учащимся

И нам необходимо получить текст который заключен в скобки.

Для начала нам необходимо определить позиции наших ключевых символов, в которых заключен текст — это «(» и «)».

Для этого воспользуемся функцией ПОИСК — данная функция ищет текст и возвращает начальную позицию.

Синтаксис функции:

ПОИСК(текст, который будем искать;текст, где осуществляем поиск;[начальная_позиция] )

И так находим первый наш символ «(«

Формула имеет вид:

=ПОИСК(«(«;A56)

Позиция символа равна 21

Теперь найдем позицию второго символа «)»

Формула примет вид:

=ПОИСК(«)»;A56)

Позиция равна 34

Теперь мы знаем номера позиций наших символов, в которые заключен искомый текст 21 и 34.

Далее найдем длину искомого текста, формула имеет вид

=(ПОИСК(«)»;A56)-1-ПОИСК(«(«;A56))

Здесь -1 нужно, т.к. нам нужен текст до «)», сама скобка не требуется.

Длина искомого текста 12 символов

Теперь мы знаем начальную позицию текста, конечную и длину самого текста.

Зная эти параметры, мы можем обрезать текст используя функцию ПСТР

Синтаксис:

ПСТР(текст который будем обрезать;начальная позиция;число знаков)

В качестве параметров будут выступать наши предыдущие значения.

Конечная формула примет вид:

=ПСТР(A56;1+ПОИСК(«(«;A56);ПОИСК(«)»;A56)-1-ПОИСК(«(«;A56))

Здесь 1+ПОИСК(«(«;A56);  необходимо прибавить 1 т.к. символ «(» нам не нужен.

В результате мы получили текст, который заключен в скобках.

Для поиска текста между другими символами вам необходимо заменять «(» и «)»

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как определить число интервалов в excel
  • Как определить четность числа в excel
  • Как определить четное число или нет в excel
  • Как определить часть речи в word
  • Как определить циклические ссылки в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии