powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отфильтровать по набору подстрок
33 сообщений из 33, показаны все 2 страниц
Отфильтровать по набору подстрок
    #37780315
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, только не смейтеся, подскажите, как лучше реализовать задачу.

Мне нужно формулами, причем в экселе 2000, отобрать строки, в которых один столбец НЕ содержит любую подстроку из списка. Как это сделать наиболее логично.

По идее нужно что-то типа Like, но не смог найти формульного аналога

Автофильтр в 2000-м расчитан только на два условия, а мне надо больше

Попытался написать что-то типа
Код: plaintext
=ПОИСК("Подстрока1";V2)+ПОИСК("Подстрока3";V2)+ПОИСК("Подстрока4";V2)
в столбце для автофильтра, да вот только ПОИСК если не нашел подстроку, возвращает не ноль, а #ЗНАЧ (ну можно, конечно, обернуть это еще и в ЕСЛИ(ЕОШ(...)

Классно бы взять что-то типа этого , но ведь ВПР ищет только полное совпадение.

Признайтесь, должен же быть простой способ )))
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780394
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока прописал формулу
Код: plaintext
=ЕСЛИ(ЕОШ(ПОИСК("подстрока1";V2));0;1)+ЕСЛИ(ЕОШ(ПОИСК("подстрока2";V2));0;1).....и т.п.

так что вопрос перешел пока в разряд академических.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780795
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариант условия покороче
=И(V2=ПОДСТАВИТЬ(V2;"Подстрока1";"");V2=ПОДСТАВИТЬ(V2;"Подстрока2";""))
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780812
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правда, если надо без учета регистра, то не пойдет:)
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780951
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proно ведь ВПР ищет только полное совпадение.Зависит от параметров.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780962
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaShocker.Proно ведь ВПР ищет только полное совпадение.Зависит от параметров.гм, не нашел такого среди параметров, их только четыре, может в более поздних версиях что-то добавилось...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37780981
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вообще я бы написАл свою функцию на VBA, типа
Код: vbnet
1.
2.
3.
4.
5.
6.
function check(str as string, paramarray p) as boolean
dim i as integer
for i = lbound(p) to ubound(p)
  check = check + instr(str, p(i))
next i
end function


и использовал её в работе...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781000
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])

?
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781010
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя она как-то странно работает
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781043
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПризнайтесь, должен же быть простой способ )))
Он есть. Пример будет?

ЗЫ Вот почему фигово сидеть только на одном форуме :)
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781085
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007Он есть. Пример будет?вот
Serge 007ЗЫ Вот почему фигово сидеть только на одном форуме :)вот почему?
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781095
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну собсно...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781098
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если ещё нужна регистронезависимость - внутри instr сделай операндам UCASE или LCASE.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781232
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЗЫ Вот почему фигово сидеть только на одном форуме :)вот почему?
[/quote]Вот потому что ответ давно уже получил бы :)
Код: vbnet
1.
=СУММПРОИЗВ(--ЕЧИСЛО(НАЙТИ($E$3:$E$5;B2)))


Если ноль - значит совпадения нет. Формула массива
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781233
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сори ещё и регистры нужны...
Код: vbnet
1.
=СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК($E$3:$E$5;B2)))
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781285
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007Сори ещё и регистры нужны...
Код: vbnet
1.
=СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК($E$3:$E$5;B2)))

Красавчик!!!

тока нифига не понимаю, как это работает
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781307
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шокер, то есть как работает ЕСЛИ(ЕОШ(... ты понимаешь, а как работает НЕ(ЕЧИСЛО(... нет???
(с) не верю...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781309
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, я неачинал прогить на Форте и Алголе, поэтому 0 и -1 воспринимаю как FALSE...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781327
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видишь ли
в хелпе не написано, что в качестве аргумента функции ПОИСК можно задать не строку, а диапазон

соответственно, я не понимаю, как отработает и что вернет эта функция (массив?)

двойной минус - это логическое отрицание? даже теперь зная это, не нашел в справке

Ну и опять же, а что она отрицает? массив? то есть возвращаемое функцией ЕЧИСЛО значение - это тоже массив? Оператор отрицания опять же вернет массив?

Что на что перемножит СУММПРОИЗВ? или просто сложит все элементы? А почему тогда не просто СУММ, или к примеру даже просто И/ИЛИ без всяких отрицаний?

Ну и, собственно, если ты заметил, в этой ветке я появляюсь обычно в топиках по VBA, с формулами работал мало, и для меня все вышесказанное совсем не очевидно
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781340
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шокер, упасть... 124-я серия "Интернов". Никакого понимания намёков

Хорошо, расскажи лучше (мы будем общаться, как с любыми мемберами) - а почему именно формулами листа надо реализовывать? Вариянты ( Акина и прочих) хороши, но они - требуют макросов либо в книге, либо в надстройке. С другой стороны, Серж показывает, как нужно - но нафик столько раз записывать формулу? Возможен и третий...десятый вариант... Определитесь!
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781342
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Собственно, знание таких "мелочей" и позволяет использовать приложение на полную катушку. В Excel, как и в VBA, есть много возможностей, которые недокументированны, но при этом являются общепризнанными "best practice". Таким фичам посвящены тысячи и тысячи форумов по всему интернету.Ищущий да обрящет, как грится.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781355
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

Я этот файл хотел отдать в чужие руки. И если этот человек впоследствии сможет немножко подправить формулу под свои нужды, то что такое VBA он и слыхом не слыхивал, понятно, что на VBA я бы и сам побыстрому наваял.
Ну и мне-то как раз и казалось, что можно сделать как-то очень просто, что Серж и показал. Размножение формулы на листе не пугает, там не так много данных.

ElenHim,

да понятно.....

Похихикать над собой я и сам могу , вы б мне рассказали лучше на досуге, как это работает, мой горизонт расширился бы новыми познаниями. Ну или хоть скажите, я правильно расписал?
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781357
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, пропустил это в своё время?
Да мы и не хихикаем, просто иногда забываем, что ...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781358
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЯ этот файл хотел отдать в чужие руки. И если этот человек впоследствии сможет немножко подправить формулу под свои нужды, то что такое VBA он и слыхом не слыхивал, понятно, что на VBA я бы и сам побыстрому наваял.
Не раз попадал в подобную ситуацию... и убедился, что лучше потратить время и написать одну универсальную функцию, пусть и семиэтажное безобразие - но чтобы чел, когда понадобится, просто поменял параметры и получил требуемое... опять же по опыту - освоить ввод формулы массива для 90% юзеров задача в принципе непосильная.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781367
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMShocker.Pro, пропустил это в своё время?я в то время не читал форум, поэтому не мог пропустить
Спасибо, попробую изучить на досуге.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781474
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro в хелпе не написано, что в качестве аргумента функции ПОИСК можно задать не строку, а диапазон


В хэлпе много чего нет :)

Shocker.Pro соответственно, я не понимаю, как отработает и что вернет эта функция (массив?)


См. вложение, так думаю будет понятнее

Shocker.Pro двойной минус - это логическое отрицание? даже теперь зная это, не нашел в справке


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

Shocker.Pro Ну и опять же, а что она отрицает? массив? то есть возвращаемое функцией ЕЧИСЛО значение - это тоже массив? Оператор отрицания опять же вернет массив?

Грубо говоря - да. Подробнее в файле

Shocker.Pro Что на что перемножит СУММПРОИЗВ? или просто сложит все элементы? А почему тогда не просто СУММ, или к примеру даже просто И/ИЛИ без всяких отрицаний?

Можно и СУММ. Это моя привычка, что бы не объяснять на форумах про то как вводятся формулы массива :)
А вот с И/ИЛИ не выйдет. Эти функции некорректно работают в формулах массива .
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781478
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хня какая-то...
Не хочет файл отправлять...
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781481
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл весит 113 Кб

...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781485
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит будем постить картинками :)
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781486
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781487
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37781628
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007,

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

Спасибо!
...
Рейтинг: 0 / 0
Отфильтровать по набору подстрок
    #37782812
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro...не знал, что многие стандартные функции принимают в качестве аргументов не только простые операнды, но и массивы, сами возвращая при этом массив.
Это и есть формулы массива :)
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Отфильтровать по набору подстрок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]