Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Произвольное количество символов в ячейке
 
Доброго всем дня!
Как в функции ЕСЛИ задать в качестве критерия значения наподобие *АБВ, где звездочка - это любое количество любых символов.
В макросах и поиске это делается именно так, но в формулу вставить не выходит:

=ЕСЛИ(A1="*ВИ";1;0)

 
А если использовать функции ПРАВСИМВ и ЛЕВСИМВ? что то типа
Код
=ЕСЛИ(ПРАВСИМВ(A1;2)="ВИ";1;0)
Изменено: Nordheim - 25 Июн 2019 08:12:12
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, можно, но если значение начинается с чего-то или чем-то заканчивается. А если так: *АБВ*? Т.е. критерий в середине?
 
IvanMantrov, Сейчас формулисты подтянутся и наваяют, что нибудь, я только UDF смогу сделать с таким условием.
"Все гениальное просто, а все простое гениально!!!"
 
IvanMantrov, Добрый день.
=ЕСЛИ(ПОИСК("ВИ";A1);1;0)

Ищет ВИ в ячейке, иными словами *ВИ*
Изменено: Wild.Godlike - 25 Июн 2019 08:21:32
 
Цитата
Wild.Godlike написал:
Ищет ВИ в ячейке,
Не совсем! Тут надо именно находить ячейки, в которых "ВИ" стоит не в начале и не в середине, а между какими-то другими числами или буквами
 
Цитата
IvanMantrov написал:
не в начале и не в середине
может не в начале и не в конце?
 
IvanMantrov, тогда может пример?)
 
artyrH,ой, точно! ошибся! НЕ в начале и НЕ в конце
 
А ведь верно, правсимв и левсимв можно соеденить через "И":

=ЕСЛИ(И(ЛЕВСИМВ(A1;2)<>"ВИ";ПРАВСИМВ(A1;2)<>"ВИ");1;2)
Изменено: IvanMantrov - 25 Июн 2019 08:36:41
 
IvanMantrov, и в этом случае даже если ВИ вообще не будет в ячейке результат всё равно будет 1. тогда уже вот так.
=ЕСЛИ(И(ЛЕВСИМВ(A1;2)<>"ВИ";ПРАВСИМВ(A1;2)<>"ВИ";ПОИСК("ВИ";A1));1;2)
 
Wild.Godlike,В моем случае эти символы там будут в любом случае, но спасибо, это важное уточнение!
 
А лучше UDF написать (если использовать только на своем АРМе) и не заморачмиваться с компоновкой формул.
что то типа
Код
Function Searh(Диапазон As Range, Значение$)
    If Диапазон.Count > 1 Then Searh = "Диапазон задан не верно": Exit Function
    If Диапазон.Value Like Join(Array("*", Значение, "*"), "") Then Searh = 1 Else Searh = 0
End Function
Изменено: Nordheim - 25 Июн 2019 09:01:01
"Все гениальное просто, а все простое гениально!!!"
 
Название темы нужно поменять. Что значит "произвольное количество"? Проблему не отражает.
Предлагайте. Модераторы заменят
Страницы: 1
Читают тему (гостей: 1)
Наверх