0 / 0 / 0 Регистрация: 29.08.2010 Сообщений: 13 |
|
1 |
|
Определить количество знаков до второго пробела в ячейке01.09.2010, 14:52. Показов 38356. Ответов 34
Помогите пожалуйста с формулой (именно формула, а не макрос ) что бы посчитать количество знаков до второго пробела в ячейке? Тесть есть символы в ячейке разделенные одним пробелом g1ht* kdjf1R 265kllzS T6xklcjxTQ
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 минут
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 |
С вероятностью 90%: набираете вручную РУССКУЮ букву А в адресе ячейки И вы правы, вручную набирала, вот тупанула))))) Спасибо большое
0 |
Памирыч |
28.10.2012, 02:02
|
Не по теме: Pelena, Не в первый раз замечаю, как Вы с первого раза «угадываете» решение проблемы пользователя. Экстрасенс? (вопрос риторический, отвечать не нужно)
0 |
0 / 0 / 0 Регистрация: 27.10.2012 Сообщений: 13 |
|
28.10.2012, 15:19 |
14 |
У меня ещё 1 вопрос. Хотела создать новую тему по этому вопросу, но не получается.
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
28.10.2012, 15:53 |
15 |
|||
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 |
Всё-равно нули дальше показывает Голословные утверждения!
1 |
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
28.10.2012, 16:32 |
20 |
Еще вариант (в ячейку B2) Код =--ЕЧИСЛО(НАЙТИ(B$1;$A2)) Можно копировать как вниз, так и вправо
0 |
Формула извлечения символов до первого пробела справа |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Добрый день. Необходимо подсчитать количество символов слева и до знака «!» или «?». Уважаемые модераторы, уже поискал ответ на вопрос в Приемах и на Форуме, ответа не нашел. |
|
_Boroda_ Пользователь Сообщений: 1496 Контакты см. в профиле |
Так нужно? Скажи мне, кудесник, любимец ба’гов… |
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Решение нужно формулами, макросами? |
формулами, макросы очень сложно. Кажется уже ответ получил, спасибо большое сейчас проверю |
|
_Boroda_, спасибо огромное!!! |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
confic confov, только учтите, что если в ячейке нет, ни одного из двух знаков, то эта формула выдаст не верный результат. Вот горшок пустой, он предмет простой… |
_Boroda_ Пользователь Сообщений: 1496 Контакты см. в профиле |
#7 14.08.2017 18:10:58
Почему неверный? Вы автор вопроса? Кто Вам сказал, что при отсутствии знаков нужно выводить не количество всех символов, а что-то иное? До тех пор, пока автор не уточнит этот момент, нет верной или неверной трактовки, есть различающиеся мнения. И вообще — я художник, я так вижу. Скажи мне, кудесник, любимец ба’гов… |
||
z_sir Пользователь Сообщений: 126 |
#8 14.08.2017 20:10:27
15
|
||||
z_sir,спасибо, попробую и такой варианТ! |
|
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
#11 15.08.2017 18:50:14
Потому что формула выдает позицию знака, которого нет в исходном тексте. В моем понимании это не корректный результат.
Сам разобрался. Изменено: PooHkrd — 16.08.2017 09:30:50 Вот горшок пустой, он предмет простой… |
||
подскажите пожалуйста, добавил к формуле еще один знак — ? =MIN(SEARCH({«.»;»!»;»?»};M13&{«.»;»!»;»?»})) , но почему то теперь значение получается всегда 1, как исправить ? чтобы формула подхватывала 3 знака 1) ! 2) . 3) ? |
|
_Boroda_ Пользователь Сообщений: 1496 Контакты см. в профиле |
#13 16.08.2017 17:34:25 Знак вопроса и звездочка для ПОИСК — подстановочные знаки. ? — 1 любой символ, * — любое количество любых символов
PooHkrd,
Это в вашем понимании. Оно вовсе не означает, что так оно и есть на самом деле — мы же пока еще не увидели комментария автора по этому вопросу. И, кстати, это
и это
— разные вещи. confic confov, если при отсутствии в ячейке всех символов из поискового списка нужно выводить ноль, то вот так можно
Скажи мне, кудесник, любимец ба’гов… |
||||||||||
- Что делает функция ДЛСТР?
- Синтаксис
- Форматирование
- Примеры применения ДЛСТР
- Пример 1. Посчитать слова
- Пример 2 – посчитать встречаемость фрагмента в тексте
- Пример 3 – извлечь или удалить последнее слово
- Пример 4 – удалить первые N символов / первое слово
- Пример 5 – последние символы ячейки
- Пример 6 – в формуле массива
- Пример 7 – извлечь цифры
Раздел функций | Текстовые |
Название на английском | LEN |
Волатильность | Не волатильная |
Похожие функции | СЧЁТЗ |
Что делает функция ДЛСТР?
Функцию часто называют “Длина строки”, что не совсем корректно, потому что речь не о строке, а о строковом выражении значения аргумента.
Эта функция позволяет посчитать количество символов в ячейке, включая пробелы и цифры, в этом самом строковом выражении. Обратите внимание на примеры ниже.
- Хотя визуально 2500% это 5 символов, при преобразовании в текстовую строку это всего лишь 25, поэтому ДЛСТР возвращает 2.
- Даты преобразуются в целые числа, где единицей является 1.01.1900 – вот почему для неё функция возвращает длину 1.
Есть символ, который функция ДЛСТР вообще не учитывает. Это апостроф (‘), когда он в начале ячейки. Если в начале ячейки идут два символа апострофа подряд, второй уже учитывается.
Почему так происходит? Дело в том, что апостроф в Excel — один из специальных символов-операторов, переводящий формат ячейки в текстовый.
Синтаксис
=ДЛСТР(Аргумент)
Аргумент у функции один, он обязательный. В нем можно указывать как одну ячейку, так и другие вычисления с помощью формул. При использовании в функциях массива аргументом может быть диапазон ячеек.
Форматирование
Если входящее значение не в текстовом формате, оно конвертируется в него.
Ячейки в формате даты воспринимаются как числа, поэтому содержат обычно 5 знаков (если это не даты, близкие к 1900 году).
Процентный формат также конвертируется в натуральное число, например, 2500% = 25 (2 символа, см. таблицу примеров выше).
Примеры применения ДЛСТР
Функция часто используется как вспомогательная в составных формулах, в комбинации с другими текстовыми функциями.
При этом эти комбинации позволяют решать самые необычные задачи.
Пример 1. Посчитать слова
Как узнать, сколько слов в ячейке Excel? Обычно их на 1 больше, чем пробелов между ними. Если пробел один, значит слов – два, если два – то слов три, и так далее.
Если есть вероятность, что пробелов больше 1 между словами, или они есть в начале и конце ячейки, их можно устранить функцией СЖПРОБЕЛЫ.
Пробелы в строке можно посчитать, измерив длину строки в символах:
- с ними,
- без них,
- и вычислив разницу.
Как получить строку без пробелов? Тут поможет функция ПОДСТАВИТЬ.
Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. СЖПРОБЕЛЫ удаляет лишние пробелы, ПОДСТАВИТЬ удаляет их, а ДЛСТР измеряет длину строк:
=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";"")) + 1
Пример 2 – посчитать встречаемость фрагмента в тексте
Есть ли в тексте определенный символ? И если есть, то сколько их?
Рассмотрим пару примеров формул.
Есть ли в ячейке лишние пробелы
Формула ниже проверит, есть ли в ячейке лишние пробелы. Это удобно, когда нужно не просто удалить пробелы, а узнать, были ли они вообще:
=ДЛСТР(СЖПРОБЕЛЫ(A1))<>ДЛСТР(A1)
Формула очевидна и довольно проста. Если длина ячейки после удаления лишних пробелов функцией СЖПРОБЕЛЫ равна исходной – значит, их в ней нет, а если наоборот, не равна – есть.
Обратите внимание, что, несмотря на то, что в самой постановке вопроса звучит условие ЕСЛИ, функция ЕСЛИ тут не нужна. Если равенство верное, Excel сам вставит в ячейку результат ИСТИНА, и ЛОЖЬ, если наоборот.
Сколько раз встречается символ или слово в тексте
По некой аналогии с предыдущим примером, мы можем производить не булевое (ДА-НЕТ, ИСТИНА-ЛОЖЬ) сравнение длин строки перед и после удаления символа или фрагмента, а вычислить разницу.
Если мы ищем один символ, это позволит сразу понять его встречаемость.
Для удаления произвольного символа из строки нам понадобится функция ПОДСТАВИТЬ.
Если же текстовый фрагмент длиной 2 и более символов – нам потребуется еще и поделить полученный результат на его длину:
=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;B1;"")))/ДЛСТР(B1)
В данной формуле исходный текст в ячейке A1, а подсчитываемый фрагмент – в ячейке B1.
Обратите внимание на 5 и 6 строки – поскольку функция “ПОДСТАВИТЬ” чувствительна к регистру, из текста ею не было удалено первое вхождение. Если нужно учитывать вхождения в любом регистре, могут понадобиться функции СТРОЧН или ПРОПИСН.
Подсчитываемый текстовый фрагмент может быть любой длины.
Еще момент – функция может быть непригодна для подсчета коротких слов, т.к. одно слово может быть частью другого.
Пример 3 – извлечь или удалить последнее слово
Зная количество пробелов в тексте, можно заменить последний из них на редкий символ, чтобы потом вычислить его позицию.
С этим нам, как и в предыдущем примере, поможет функция ПОДСТАВИТЬ – она позволяет заменить не только все определенные текстовые фрагменты в строке, но и определенное по порядку вхождение (первое, второе и т.д.).
Что это нам дает? Последний пробел – не что иное, как символ, отделяющий последнее слово от остальной части строки. И по его позиции далее уже нехитрыми манипуляциями удалить или извлечь его.
Подробно пример рассмотрен здесь: Удалить последнее слово в Excel
Пример 4 – удалить первые N символов / первое слово
Нехитрая комбинация функций ПРАВСИМВ, ПОИСК и ДЛСТР позволяет удалить из ячейки первое слово.
Механика проста:
- вычисляем позицию первого пробела функцией ПОИСК,
- вычитаем из длины строки (ДЛСТР) это число
- Извлекаем функцией ПРАВСИМВ полученную разницу из исходной строки
Подробнее пример рассмотрен в статье про функцию ПРАВСИМВ.
Если же количество символов уже известно заранее, формула еще проще – нужны только ДЛСТР и ПРАВСИМВ:
=ПРАВСИМВ(A1;ДЛСТР(A1)-4)
Подробнее можно почитать тут: удалить первые N символов в ячейке.
Пример 5 – последние символы ячейки
Как бы ни звучало очевидно, позиция последнего символа в строке равна ее длине в символах. А поэтому, зная длину строки, можно, например:
- удалить последние символы в ячейке
- извлечь последние символы из ячеек
А ниже примеры, как заменить последний символ в ней, взяв на 1 символ меньше с помощью ЛЕВСИМВ, и конкатенации с нужным текстом через амперсанд:
=ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&"Текст вместо последнего символа"
Или с помощью функции ЗАМЕНИТЬ, которая на вход возьмет длину строки как позицию заменяемого символа:
=ЗАМЕНИТЬ(A1;ДЛСТР(A1);1;"Текст вместо последнего символа")
Пример 6 – в формуле массива
Как посчитать все символы в диапазоне ячеек или столбце?
Здесь поможет формула массива на основе комбинации функции ДЛСТР и функции СУММ. Первая создаст массив значений длины каждой из ячеек диапазона, а вторая просуммирует эти значения:
={СУММ(ДЛСТР(ДИАПАЗОН))}
Аналогичным способом функциями МАКС и МИН можно посчитать длины самой длинной и самой короткой строк в диапазоне.
Фигурные скобки вводить не нужно, они появятся сами при вводе формулы массива сочетанием клавиш Ctrl+Shift+Enter (вместо обычного Enter).
Пример 7 – извлечь цифры
Подробно процесс рассмотрен в разделе соответствующей статьи – как извлечь цифры из ячеек Excel формулой.
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
Skip to content
Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии) для вычисления длины текстовых строк в Excel с пробелами или без них.
Из всех функций Excel она, пожалуй, самая простая и понятная. Название функции легко запомнить, это не что иное, как сокращение «длина строки». Она возвращает длину текстовой строки или длину ячейки.
Другими словами, вы используете её для подсчета всех знаков, включая буквы, числа, специальные символы и все пробелы.
В этом коротком руководстве мы сначала кратко рассмотрим синтаксис, а затем более подробно изучим некоторые полезные примеры для определения длины текста в ваших таблицах Excel.
- Базовые сведения
- Считаем длину одной ячейки
- Определяем общую длину диапазона ячеек
- Как игнорировать начальные и конечные пробелы?
- Как считать длину без учета любых пробелов?
- Количество символов до или после определённого знака.
Синтаксис.
Она подсчитывает и возвращает длину текста. Здесь всего один аргумент, который, естественно, обязателен:
= ДЛСТР(текст)
Где текст — это текстовая строка, для которой вы хотите подсчитать число знаков. Нет ничего проще, правда?
Ниже вы найдете пару простых формул, чтобы получить общее представление о том, как это работает.
=ДЛСТР(123) — возвращает 3, потому что в текстовый аргумент передается 3 цифры .
=ДЛСТР(«яблоко») — возвращает 6, потому что слово яблоко состоит из 6 букв. Как и любая другая формула Excel, она требует заключения текстовых выражений в двойные кавычки, которые не учитываются при подсчёте.
Впрочем, на практике вы, скорее всего, будете указывать ссылки на ячейки, а не записывать какой-то текст в саму формулу.
Например, чтобы получить длину текста в A1, вы должны записать:
=ДЛСТР(A1)
Ниже приведены более содержательные примеры с подробными объяснениями и скриншотами.
На первый взгляд функция ДЛСТР выглядит настолько простой, что не требует дополнительных пояснений. Однако есть несколько полезных приемов, которые могут помочь вам настроить её под ваши конкретные нужды.
Определяем длину ячейки.
Как уже упоминалось, здесь учитываются абсолютно все символы, включая все пробелы — ведущие, конечные и между словами.
Например, чтобы получить длину A2, используем это выражение:
=ДЛСТР(A2)
Как показано на скриншоте ниже, получаем результат 32, включая 23 буквы, 2 цифры, 3 пробела и 1 знак пунктуации.
Чтобы сосчитать длину нескольких ячеек, выберите ту что с формулой и скопируйте ее в другие, например, перетащив маркер заполнения.
Как только она будет скопирована, получим длину для каждой ячейки отдельно.
Примечание. При копировании вниз по столбцу обязательно используйте относительную ссылку, например ДЛСТР(A1), или смешанную ссылку, например ДЛСТР($A1), фиксирующую только столбец, чтобы ваше выражение правильно адаптировалась для нового местоположения.
Считаем длину нескольких ячеек.
Самый очевидный способ сделать это — сложить несколько функций, например:
=ДЛСТР(A2)+ДЛСТР(A3)+ДЛСТР(A4)
Или используйте функцию СУММ для расчета длины текста, возвращаемой из нескольких ячеек:
=СУММ(ДЛСТР(A2); ДЛСТР(A3); ДЛСТР(A4); ДЛСТР(A5))
В любом случае программа ведет подсчет в каждой из указанных ячеек и возвращает общую длину строк в диапазоне:
Этот подход, несомненно, прост для понимания и использования, но это не лучший способ подсчета длины текста в диапазоне, состоящего, скажем, из 100 или 1000 ячеек.
Итак, приведенные выше формулы могут хорошо работать для небольшого диапазона. Чтобы подсчитать общую длину текста в большой области, нам лучше придумать что-нибудь более компактное, например, функцию СУММПРОИЗВ, которая умножает массивы и возвращает сумму этих произведений.
Вот как можно сделать подсчет в диапазоне:
= СУММПРОИЗВ(ДЛСТР( диапазон ))
И ваша реальная формула может выглядеть примерно так:
=СУММПРОИЗВ(ДЛСТР(A2:A5))
Другой способ сделать расчет в диапазоне — использовать ДЛСТР в сочетании с СУММ:
{=СУММ(ДЛСТР(A2:A5))}
В отличие от СУММПРОИЗВ, функция СУММ по умолчанию не работает с массивами, и вам нужно обязательно нажимать Ctrl + Shift + Enter после её ввода, чтобы превратить в формулу массива.
Как показано на следующем скриншоте, СУММ возвращает точно такой же результат:
Как это работает?
Это один из самых простых способов подсчета длины в текстовой строке. Мы вычисляем длину для каждой клетки в указанном диапазоне и возвращаем их в виде массива чисел. Затем СУММПРОИЗВ или СУММ складывают эти числа и возвращают общий итог.
В приведенном выше примере суммируется массив из 4 чисел, которые представляют длины строк в ячейках от В2 до В5:
=СУММПРОИЗВ({32;32;32;39})
Вы помните, что функция Excel ДЛСТР считает абсолютно все символы в каждой ячейке, включая буквы, числа, знаки препинания, специальные символы и все пробелы (ведущие, конечные и пробелы между словами). Но ведь это не всегда нам нужно. Как обойти эту особенность, поговорим далее.
Как подсчитать без начальных и конечных пробелов?
При работе с большими таблицами распространенной проблемой являются начальные или конечные пробелы, т.е. лишние пробелы в начале или в конце различных наименований или заголовков. Вы вряд ли заметите их на листе, но, столкнувшись с ними несколько раз, вы научитесь их опасаться.
Если вы подозреваете, что в ваших данных есть несколько невидимых пробелов, мы с этим легко справимся.
Чтобы получить длину текста без начальных и конечных пробелов, просто вставьте функцию СЖПРОБЕЛЫ (TRIM в английской версии) в ДЛСТР:
=ДЛСТР(СЖПРОБЕЛЫ(A2))
Как посчитать без любых пробелов?
Если ваша цель состоит в том, чтобы посчитать только буквы и цифры без каких-либо пробелов в начале, в конце или между ними, вам понадобится немного более сложное выражение:
=ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»))
Как вы, наверное, знаете, функция ПОДСТАВИТЬ заменяет один текст другим. В приведенной выше формуле вы заменяете пробел (» «) ничем, то есть пустой текстовой строкой («»). И поскольку вы встраиваете ПОДСТАВИТЬ внутрь функции ДЛСТР, подстановка фактически не выполняется в ячейках, она просто указывает вычислить длину строки без пробелов.
Определяем длину текста до или после определённого знака.
Иногда вам может потребоваться узнать длину определенной части текста, а не подсчитывать его общую длину.
Предположим, у вас есть список артикулов различных товаров. И все действительные артикулы содержат ровно 5 знаков в первой группе (до тире). Как нам обнаружить ошибки при вводе? Ага, подсчитав сколько знаков перед первым тире.
Итак, наше выражение выглядит следующим образом:
=ДЛСТР(ЛЕВСИМВ($A2; ПОИСК(«-«; $A2)-1))
А теперь давайте разберем пошагово, чтобы вы могли понять логику работы.
- Вы используете функцию ПОИСК, чтобы вернуть позицию первого дефиса («-») в A2:
ПОИСК(«-«; $A2) - Затем вы применяете функцию ЛЕВСИМВ, чтобы извлечь подстроку определённой длины, начиная с левой стороны. И не забудьте вычесть 1 из результата, потому что вы не хотите включать тире:
ЛЕВСИМВ($A2; ПОИСК(«-«; $A2)-1) - И, наконец, у вас есть функция ДЛСТР, которая возвращает длину этого кусочка текста.
Теперь вы можете пойти дальше и выделить неправильные артикулы, установив простое правило условного форматирования с такой формулой, как =$B2<>5:
Или же вы можете в отдельном столбце указать на неправильные артикулы, вставив приведенную выше формулу в функцию ЕСЛИ :
=ЕСЛИ(ДЛСТР(ЛЕВСИМВ(A2; ПОИСК(«-«;A2)-1))<>5; «Неверно!»; «»)
Как показано на скриншоте ниже, формула идеально определяет недопустимые артикулы на основе длины строки. И вам даже не нужен отдельный столбец:
Аналогичным образом вы можете посчитать, сколько знаков находится после определенной позиции в строке.
Например, в списке имен нужно узнать, сколько букв содержит фамилия. Вот как мы это сделаем:
=ДЛСТР(ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(» «;A2)))
Как это работает:
- Сначала вы определяете позицию пробела (» «) в текстовой строке с помощью функции ПОИСК:
ПОИСК(» «;A2) - Затем подсчитываете, сколько знаков следует за пробелом. Для этого вы вычитаете позицию пробела из общей длины текста:
ДЛСТР(A2)-ПОИСК(» «;A2) - После этого применяем ПРАВСИМВ, чтобы вернуть всё после пробела, то есть фамилию.
- И, наконец, вы используете формулу ДЛСТР, чтобы получить длину фамилии, возвращенной ПРАВСИМВ.
Обратите внимание, что для правильной работы каждая ячейка должна содержать только один пробел, то есть только имя и фамилию, без отчества, заголовков или суффиксов.
Вот как можно использовать ДЛСТР в Excel. В следующей статье мы рассмотрим другие её возможности, и вы узнаете еще несколько полезных формул для подсчета символов в Excel.
[the_ad_group id=»48″]