Страницы: 1
RSS
Отфильтровать массив по маске (совпадаению символов)
 
Добрый день!

Есть основной массив данных, необходимо создать в соседнем столбце массив "отфильтрованный" по маске слова (совпадению символов). Все что получается сделать - это отфильтровать список, но это не то что требуется. Помогите пожалуйста. Маска слова может быть с любым количеством символов.
 
расширенный фильтр  с коритерием
Основной массив
*тор*

или
=IFERROR(INDEX(B:B;SMALL(IF(ISNUMBER(SEARCH("тор";$B$5:$B$13));ROW($B$5:$B$13));ROW(A1)));"")
По вопросам из тем форума, личку не читаю.
 
Макросом
 
Макросом не то. Спасибо за предложение! К тому же мне нужен цельный диапазон без пустых ячеек.

БМВ, спасибо!
Формулой - это то, что нужно.
Поясните ссылку на ячейку А1 вот здесь:
Код
=ЕСЛИОШИБКА(ИНДЕКС(B:B;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК("тор";$B$5:$B$13));СТРОКА($B$5:$B$13));СТРОКА(A1)));"")

И еще - как выводить не только значения из столбца B, но и связанные значения из соседних столбцов. как в файле
Изменено: _ant1 - 14.10.2019 13:48:55
 
Цитата
_ant1 написал:
Поясните ссылку на ячейку А1
в совокупности с СТРОКА это число
Цитата
_ant1 написал:
И еще - как выводить не только значения из столбца B
от 1 до ….
Цитата
_ant1 написал:
как выводить не только значения из столбца B,
В этом случае , лучше часть
=НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК("тор";$B$5:$B$13));СТРОКА($B$5:$B$13));СТРОКА(A1)) в отдельный столбец, а уже d ИНДЕКС(B:B; ) использовать полученный результат меняя диапазон для других значений.
Изменено: БМВ - 14.10.2019 13:48:26
По вопросам из тем форума, личку не читаю.
 
Не могли бы показать на примере, если не затруднит конечно? Не совсем понял, что нужно сделать. Как изменение диапазона связано с выводом соседних столбцов?

=НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК("тор";$B$5:$B$13));СТРОКА($B$5:$B$13));СТРОКА(A1))  возвращает наименьшее значение чего? (сначала решил, что это наименьшее значение количества элементов в новом диапазоне. Прошу прощения за вопросы, но я хочу понять, чтобы больше не спрашивать. ))
Изменено: _ant1 - 14.10.2019 14:56:54
 
Цитата
_ant1 написал:
но я хочу понять, чтобы больше не спрашивать
это очень похвально.

ЕСЛИ(ЕЧИСЛО(ПОИСК("тор";$B$5:$B$13));СТРОКА($B$5:$B$13))- набор или номеров строк в которых выполнено условие или FALSE если не выполнено.
НАИМЕНЬШИЙ  из него даст подряд от меньшего к большему номера строк игнорируя FALSE.
ИНДЕКС(B:B - из указанно8го столбца выберет по номеру строки нужное значение. Поменяете на другой столбец выведет из другого.
Чтоб не пересчитывать каждый раз для разных столбцов номер строки это лучше поместить в отдельный столбец и использовать уже вычисленное значение. хотя для небольших файлов это не критично.
По вопросам из тем форума, личку не читаю.
 
Посмотрите в файле. Попытался разложить пошагово как дали в описании.
Набор или номеров строк в которых выполнено условие или FALSE если не выполнено: почему выводит значение 5 - условие же выполнено не только в строке 5? Если это количество ячеек, тогда должно быть 6 ).
НАИМЕНЬШИЙ  из него даст подряд от меньшего к большему номера строк игнорируя FALSE: почему заполняется только первая ячейка?
Из указанного столбца выберет по номеру строки нужное значение: аналогично заполняется только первая ячейка в столбце, в остальных ошибка.
 
_ant1, это формулы Массива и для G и H вводить надо Ctrl+Shift+Enter.
5 это первое значение и номер строки именно 5. Но на самом деле там целый список, выделите формулу строке формул и нажмите F9
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх