Задать вопрос
@47911

Сортировка по нескольким значениям в колонке?

Здравствуйте. Есть: файл на 130 000 строк. Колонок 100.
В колонке, по которой я хочу сортировать, инфа вида:
"Категория1~Категория2~Категория3" - т.е. типо список категорий, к котором принадлежит запись.

Есть эти категории по колонкам(в таблице, в других столбцах, но из-за их количества - их содержимое так было объединено)

Нужно: сортировать(показать) строки этой таблици, чтобы в колонке с "категориями" можно было найти все категории, в которых встречается определённая последовательность слов/букв, и их несколько.

Т.е.: я ввожу в колонке "пчел" и через какой-то разделитель или ещё что ввожу "ткан" и после "театр"(именно последовательность букв-часть слова, чтобы точно получить то, что в последствии далее будет разгребаться.) и Excel мне осталвяет те строки, в которых у Этой колонки есть "или пчел или ткан или театр".

Интерфейс и реализация не важна. Подойдёт любая программа/последовательность действий/макрос/ещё что - вообщем всё то, что может отфильтровать такую таблицу.

*В самом экселе, в этой колонке значений более 10000, т.е. он их все не отображает. Если кто не понял почему прошу именно так.
**Идея "фильтровать не соединённые категории" - звучит не очень. Данные представляются ввиде:
Колонка1 = Колонка2 = Колонка3 = Колонка4 = Колонка5
И последовательность букв, к пример "Театры" может быть записанно либо в "Колонку 1", либо в "Колонку 2" либо ... Т.е. это не сильно изменит ситуацию.
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Сложный 6 комментариев
Решения вопроса 1
@anoriyuriy
Здравствуйте!
Без примеров "как есть - как нужно" не очень понятно, но думаю что понял задачу.
Недавно сталкивался с такой задачей, в рамках работы по унификации одного каталога, более чем на 100к строк. Но там не требовалось слишком много критериев, хотя решение подойдет и если их 50, в том числе.

Создал модель, заполненную случайными данными - категория (наш целевой столбец) и столбец со случайными числовыми значениями. Для иллюстрации добавляю столбец с количеством символов в ячейке (длиной строки).

640745e952170020061869.png

В первую, пятую и десятую строки вкрапляем интересующие ключевые слова с разными окончаниями "пчел", "театр", "ткан".

Ключевые слова в тексте

640745fc6df1d270418391.png
64074606a1a16357678612.png
6407460f0faa1867908879.png

После столбца "Категории" добавляем 4 (или сколько потребуется) столбцов. У первых трех в заголовке пусто, а у последнего "Любая фраза".

В первом столбце в первой строке вводим формулу

=ЕСЛИ(ЕЧИСЛО(ПОИСК(C$1;$B2));1;0)

Протягиваем вправо на три столбца с пустыми заголовками. В первой строке в столбце "Любая фраза" пишем формулу

=СУММ(C2:E2)

Протягиваем первую строку добавленных столбцов до конца таблицы.
6407474babfdf668171336.png

Рекомендую отключать отображение нулей в ячейках
640746dacf601726389762.png
После этого вы вписываете в заголовки ваши искомые ключевые фразы
64074770d7fb1105032097.png
И фильтруете ненулевые значения в столбце "Любая фраза"
6407477b6b6c6042721206.png

Update 08.03.2023:
Для пользователей, кто не понял как исключить ложные срабатывания на пустые ячейки, если вы ищете по одному-двум критериям, а не трем: вписываете в незадействованные ячейки абракадабру или любое содержимое, которое точно не встретится в тексте, например "@@@@@"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы