Страницы: 1
RSS
Как подсчитать количество символов до определенного знака
 
Добрый день. Необходимо подсчитать количество символов слева и до знака "!" или "?".
Пример следующий - "Привет как дела! Все хорош отлично" - необходимо отразить количество символов до знака "!"

Уважаемые модераторы, уже поискал ответ на вопрос в Приемах и на Форуме, ответа не нашел.
 
Так нужно?
=МИН(ПОИСК({".":"!"};B2&{".":"!"}))
Формула массива. Вводится одновременным нажатием Контрл Шифт Ентер
Скажи мне, кудесник, любимец ба’гов...
 
Решение нужно формулами, макросами?
 
формулами, макросы очень сложно. Кажется уже ответ получил, спасибо большое сейчас проверю
 
_Boroda_, спасибо огромное!!!
 
confic confov, только учтите, что если в ячейке нет, ни одного из двух знаков, то эта формула выдаст не верный результат.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
эта формула выдаст не верный результат
Почему неверный? Вы автор вопроса? Кто Вам сказал, что при отсутствии знаков нужно выводить не количество всех символов, а что-то иное? До тех пор, пока автор не уточнит этот момент, нет верной или неверной трактовки, есть различающиеся мнения. И вообще - я художник, я так вижу.
Скажи мне, кудесник, любимец ба’гов...
 
Цитата
confic confov написал:
количество символов до знака "!"
15
Код
=ДЛСТР(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;"!";ПОВТОР(" ";500));1;300)))
 
PooHkrd, понял, спасибо!  
 
z_sir,спасибо, попробую и такой варианТ!
 
Цитата
_Boroda_ написал:
Почему неверный?
Потому что формула выдает позицию знака, которого нет в исходном тексте. В моем понимании это не корректный результат.
Вообще формула очень красивая, взял себе на вооружение и уже пользуюсь, за что наше вам с кисточкой. Просто предупредил ТС, чтобы учел этот момент.
И еще, я правильно понимаю, что для увеличения количества символов для поиска, достаточно просто в массивы в фигурных скобках через двоеточие их добавить? Я попробовал, но при добавлении в массивы одного знака, при вводе формулы массива у меня во всех ячейках фиксируется ссылка на ячейку B2. Кто-нибудь подскажет что я делаю не так?
Сам разобрался.
Изменено: PooHkrd - 16.08.2017 09:30:50
Вот горшок пустой, он предмет простой...
 
подскажите пожалуйста, добавил к формуле еще один знак - ? =MIN(SEARCH({".";"!";"?"};M13&{".";"!";"?"})) , но почему то теперь значение получается всегда 1, как исправить ? чтобы формула подхватывала 3 знака 1) ! 2) . 3) ?
 
Знак вопроса и звездочка для ПОИСК - подстановочные знаки. ? - 1 любой символ, * - любое количество любых символов
чтобы нацти сами ? и * нужно в ПОИСКе перед ними поставить тильду. Вот так
Код
=МИН(ПОИСК({".":"!":"~?"};B2&{".":"!":"?"}))

PooHkrd,

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

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

Цитата
PooHkrd написал:
Просто предупредил ТС, чтобы учел этот момент
и это
Цитата
PooHkrd написал:
формула выдаст не верный результат
- разные вещи.

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

Код
=МИН(ЕСЛИОШИБКА(ПОИСК({".":"!":"~?"};B2);""))
Скажи мне, кудесник, любимец ба’гов...
Страницы: 1
Читают тему
Наверх