Добрый день всем присутствующим
Есть задача (мне кажется не выполнимая), в таблице при применении обычного фильтра выводятся ВСЕ строки которые содержат данное значение, но нужно сделать так чтобы при применении фильтра выводились не только строки имеющие данное значение но и так сказать виртуально объединенные между собой строки,
т.е. в данной таблице к каждому сотруднику присвоено 6 строк, и так называемая карточка сотрудника состоит из 6 строк, но при применении фильтра выводится только одна строка и остальная информация о сотруднике обрубается, но нужно чтоб выводилась все строки по каждому сотрдунику по которому есть совпадения в том или ином столбце.
Не уверен что смог все понятно объяснить, поэтому прилагаю картинки:
Исходная таблица:
Вот как выглядит таблица если применить стандартный фильтр (сортирую по столбцу ВУЗ — значение ТЕХНИКУМ) тут мы видим что при применении фильтра уже нельзя увидеть информацию о работе сотрудника (их минимум 3, в данном примере они обозначены как ПЕРВАЯ, ВТОРАЯ, ТРЕТЬЯ)
Вот как хочу чтобы работало — при сортировке по значению ВУЗ — техникум, все сотрудники и полные их карточки (6 строк относящихся к этому сотруднику) будут отображаться полностью.
Также прилагаю исходник таблицы. Очень надеюсь что с вашей помощью получится решить задачу Заранее всем большое спасибо.
Сначала расскажем что такое объединенные ячейки в Excel и как их сделать. Тут нет ничего сложно, достаточно выделить две или более ячеек и выбрать команду на ленте Главная -> Выравнивание -> Объединить и поместить в центре.
Важно отметить, что Excel при объединении ячеек, которые содержат значения, оставит значение только той ячейки, которая находится в верхнем левом углу выбранного диапазона. Остальные же значения будут удалены. Однако, с помощью нашей надстройки, данное недоразумение можно избежать с помощью специальной команды.
Вы можете объединять ячейки как по горизонтали, так и по вертикали. Также можно объединить области, содержащие боле одной строки и столбца.
Способы объединения ячеек
Если внимательней посмотреть на команду объединения ячеек, то можно увидеть выпадающее меню, которое в свою очередь содержит следующие дополнительные действия:
- Объединить по строкам — позволяет выбрать диапазон ячеек, который содержит несколько строк. В этом случае Excel будет создавать объединенные ячейки по одной на каждой строке
- Объединить ячейки — объединяет выделенные ячейки в одну, но при этом не выравнивает текст в ячейке.
- Отменить объединение ячеек — позволяет разбить объединенную ячейку на несколько.
Какие проблемы возникают при использовании объединенных ячеек
Как уже говорили, пользоваться объединенными ячейками стоит аккуратно, так как они ограничивают функционал Excel и могут в дальнейшем принести неприятности. Если все-таки решили пользоваться объединенными ячейками, всегда помните о следующих моментах:
- Если диапазон содержит объединенные ячейки, то пользоваться сортировкой и фильтрацией в этом диапазоне будет невозможно.
- Также невозможно будет преобразовать такой диапазон в таблицу (форматировать как таблицу).
- Также можно забыть об автоматическом выравнивании ширины или высоты ячейки. Например если имеется объединенная ячейка A1:B1, то выравнять ширину столбца A уже не получится.
- Если Вы пользуетесь горячими клавишами для навигации, например переходите в начало и конец таблицы путем сочетания клавиш Ctrl + стрелка вверх и вниз, то переход не удастся, и курсор будет «упираться» в объединенные ячейки.
- Если вы выделяете столбцы (или строки) с помощью горячих клавиш Ctrl (Shift) +Пробел, то при наличии объединенных ячеек, вы не сможете выделить 1 столбец (или строку).
Как найти все объединенные ячейки и разъединить их
Чтобы разъединить все ячейки и удалить объединенные, достаточно выполнить следующие действия:
- Выделить все ячейки на листе. Это можно сделать путем нажатия сочетания клавиш Ctrl + A или кликнуть на черный треугольник между заголовками строк и столбцов на листе.
- Нажать на команду Главная -> Выравнивание -> Объединить и поместить в центре если она выделена. Если же она не выделена, значит выбранный лист не содержит объединенных ячеек.
Если же необходимо найти все объединенные ячейки в книге, то это можно сделать через панель поиска. Для этого выполните следующие шаги:
- Откройте окно Найти и заменить. Сделать это можно сочетанием клавиш Ctrl + F.
- Поле Найти оставьте пустым и нажмите на кнопку Параметры.
- Должна отобразиться кнопка Формат. Нажмите левой кнопкой мыши по ней.
- В диалоговом окне Найти формат на вкладке Выравнивание выберите опцию Объединение ячеек. Далее нажмите Ok.
- В диалоговом окне Найти и заменить нажмите Найти далее или Найти все в зависимости от вашей дальнейшей задачи.
Альтернативы использования объединенных ячеек
Как правило объединенные ячейки применяют для целей выравнивания текста. Однако мало кто знает, что текст можно выровнять и без объединения ячеек и потери функционала. Для этого можно использовать обычное форматирование ячеек:
- Выделите диапазон ячеек, который хотите отцентрировать. При этом сам текст должен содержаться в левой верхней ячейке.
- Выберите команду формат ячеек или нажмите сочетание клавиш Ctrl + 1.
- В диалоговом окне Формат ячеек перейдите на вкладку Выравнивание.
- В выпадающем списке выравнивания по горизонтали выберите значение по центру выделения и нажмите OK.
Еще один способ избежать объединения ячеек — это использовать надписи. В них также можно вставлять текст и выбирать направление текста по вертикали. Способ конечно также накладывает много ограничений, но в каких-то случаях имеет место быть.
Объединенные ячейки и фильтр в Excel
В «белых чернилах» нужно утопить тех дибилов, которые привили у нашего народа принцип «Дублирование информации в каждую ячейку захламляет документ» !
Excel рассчитан на работу с «плоскими» таблицами, все его инструменты под них заточены. Дублирования при этом не избежать, в нём весь смысл таких таблиц.
А нашим придуркам Excel преподносят не как программу, для анализа данных, а как программку-замену бумажным отчётам. Конечно, тут дублирование ой как мешает. Но не работает оно так, как вам хочется, блин. И не будет работать.
Как фильтровать объединенные ячейки в excel
Предположим, что в вашем диапазоне данных есть столбец объединенных ячеек, и теперь вам нужно отфильтровать этот столбец с объединенными ячейками, чтобы отобразить все строки, которые связаны с каждой объединенной ячейкой, как показано на следующих снимках экрана. В Excel функция «Фильтр» позволяет фильтровать только первый элемент, связанный с объединенными ячейками, в этой статье я расскажу о том, как фильтровать все связанные данные из объединенных ячеек в Excel?
Отфильтровать все связанные данные из объединенных ячеек в Excel
Чтобы решить эту задачу, вам необходимо шаг за шагом проделать следующие операции.
1. Скопируйте данные объединенных ячеек в другой пустой столбец, чтобы сохранить исходное форматирование объединенных ячеек.
2. Выберите исходную объединенную ячейку (A2: A15), а затем щелкните Главная > Объединенный и центр чтобы отменить объединенные ячейки, см. скриншоты:
3. Сохраните статус выбора A2: A15, затем перейдите на вкладку «Главная» и нажмите Найти и выбрать > Перейти к специальному, В Перейти к специальному диалоговое окно, выберите Пробелы вариант под Выберите раздел, см. снимок экрана:
4. Все пустые ячейки выбраны, затем введите = и нажмите Up клавишу со стрелкой на клавиатуре, а затем нажмите Ctrl + Enter клавиши, чтобы заполнить все выбранные пустые ячейки значением выше, см. снимок экрана:
5. Затем вам нужно применить форматирование ваших вставленных объединенных ячеек на шаге 1, выбрать объединенные ячейки E2: E15 и нажать Главная > Формат Painter, см. снимок экрана:
6. А затем перетащите Формат Painter для заполнения от A2 до A15, чтобы применить исходное объединенное форматирование к этому диапазону.
7. Наконец, вы можете применить Фильтр функция, чтобы отфильтровать нужный элемент, нажмите Данные > Фильтр, и выберите необходимые критерии фильтрации, нажмите OK чтобы отфильтровать объединенные ячейки со всеми связанными с ними данными, см. снимок экрана:
Отфильтруйте все связанные данные из объединенных ячеек в Excel с помощью Kutools for Excel
Вышеупомянутый метод может быть несколько трудным для вас здесь, с Kutools for Excel‘s Фильтр слияния ячеек вы можете быстро отфильтровать все относительные ячейки определенной объединенной ячейки. Нажмите, чтобы загрузить Kutools for Excel! Пожалуйста, посмотрите следующую демонстрацию:
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Выберите столбец, который вы хотите отфильтровать для конкретной объединенной ячейки, а затем щелкните Кутулс Плюс > Специальный фильтр > Специальный фильтр, см. снимок экрана:
2. В Специальный фильтр диалоговое окно, выберите Формат , затем выберите Объединить ячейки из раскрывающегося списка, а затем введите текстовое значение, которое вы хотите отфильтровать, или щелкните для выбора нужного значения ячейки, см. снимок экрана:
3. Затем нажмите Ok и появится окно подсказки, чтобы напомнить вам, сколько ячеек соответствует критериям, см. снимок экрана:
4, Затем нажмите OK Кнопка, все относительные ячейки определенной объединенной ячейки были отфильтрованы, как показано на следующем снимке экрана:
Note: This question has been asked back in 2010 on this site here. And yet, I would like to post it one more time, showing what I did and what didn’t work. Besides, Excel has changed quite a bit since then.
I can’t get my filter to work over merged cells in MS Excel-2016.
I have a table which shows some information on a course. The course is divided into modules, in turn, divided into lessons (divided into steps). There are some points to be checked for each step (I’ll leave only one in not to overburden the pictures). I use colours to show what is done.
A table of such sort looks too cumbersome for me:
So, I tried merging the cells. Yet, the filter stopped working:
filtering the above over 2nd module.
What I tried is returning to the cumbersome table and colouring all the cells for each module white, except for one:
The cells look merged now, although they aren’t. Yet, I missed that the filter will spit out cells coloured white:
filtering the above over 2nd lesson in the 2nd module.
The smart way to do it would be to remove the MODULE column and rename lesson 1 in module 1 with «1.1» and so on. Yet, I would like to know whether there is some hack which would allow us to filter over merged cells. Besides, why does the filter behave the way it does on merged cells?
If you have a Merged Cell, and you attempt to Filter for it, you will only get the first row:
To fix this, you first need to start by creating your Merged Cells somewhere else, unmerge your filter-cells, and fill the values into all cells:
Then, you can Copy the merged cells, and Paste Special > Formats over the cells you want to merge:
You can now delete your temporary merged cells, and when you filter you will get all rows for the merged cell:
{EDIT} Here is a macro that will automatically apply the changes above to a specified range:
Public Sub FilterableMergedCells()
Dim WorkingRange As Range
SelectRange:
Set WorkingRange = Nothing
On Error Resume Next
Set WorkingRange = Application.InputBox("Select a range", "Get Range", Type:=8)
On Error GoTo 0
'If you click Cancel
If WorkingRange Is Nothing Then Exit Sub
'If you select multiple Ranges
If WorkingRange.Areas.Count > 1 Then
MsgBox "Please select 1 continuous range only", vbCritical
GoTo SelectRange
End If
Dim ScreenUpdating As Boolean, DisplayAlerts As Boolean, Calculation As XlCalculation
ScreenUpdating = Application.ScreenUpdating
DisplayAlerts = Application.DisplayAlerts
Calculation = Application.Calculation
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Dim WorkingCell As Range, MergeCell As Range, MergeRange As Range, OffsetX As Long, OffsetY As Long
OffsetX = WorkingRange.Cells(1, 1).Column - 1
OffsetY = WorkingRange.Cells(1, 1).Row - 1
'Create temporary sheet to work with
With Worksheets.Add
WorkingRange.Copy .Cells(1, 1)
'Loop through cells in Range
For Each WorkingCell In WorkingRange.Cells
'If is a merged cell
If WorkingCell.MergeCells Then
'If is the top/left merged cell in a range
If Not Intersect(WorkingCell, WorkingCell.MergeArea.Cells(1, 1)) Is Nothing Then
Set MergeRange = WorkingCell.MergeArea
'Unmerge cells
MergeRange.MergeCells = False
'Replicate value to all cells in formerly merged area
For Each MergeCell In MergeRange.Cells
If WorkingCell.FormulaArray = vbNull Then
MergeCell.Formula = WorkingCell.Formula
Else
MergeCell.FormulaArray = WorkingCell.FormulaArray
End If
Next MergeCell
'Copy merge-formatting over old Merged area
.Cells(WorkingCell.Row - OffsetY, WorkingCell.Column - OffsetX).MergeArea.Copy
WorkingCell.PasteSpecial xlPasteFormats
End If
End If
Next WorkingCell
.Delete
End With
Set MergeRange = Nothing
Set WorkingRange = Nothing
Application.ScreenUpdating = ScreenUpdating
Application.DisplayAlerts = DisplayAlerts
Application.Calculation = Calculation
End Sub
#Руководства
- 5 авг 2022
-
0
Как из сотен строк отобразить только необходимые? Как отфильтровать таблицу сразу по нескольким условиям и столбцам? Разбираемся на примерах.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Фильтры в Excel — инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент. После фильтрации в таблице отображаются данные, которые соответствуют условиям пользователя. Данные, которые им не соответствуют, скрыты.
В статье разберёмся:
- как установить фильтр по одному критерию;
- как установить несколько фильтров одновременно и отфильтровать таблицу по заданному условию;
- для чего нужен расширенный фильтр и как им пользоваться;
- как очистить фильтры.
Фильтрация данных хорошо знакома пользователям интернет-магазинов. В них не обязательно листать весь ассортимент, чтобы найти нужный товар. Можно заполнить критерии фильтра, и платформа скроет неподходящие позиции.
Фильтры в Excel работают по тому же принципу. Пользователь выбирает параметры данных, которые ему нужно отобразить, — и Excel убирает из таблицы всё лишнее.
Разберёмся, как это сделать.
Для примера воспользуемся отчётностью небольшого автосалона. В таблице собрана информация о продажах: характеристики авто, цены, даты продажи и ответственные менеджеры.
Скриншот: Excel / Skillbox Media
Допустим, нужно показать продажи только одного менеджера — Соколова П. Воспользуемся фильтрацией.
Шаг 1. Выделяем ячейку внутри таблицы — не обязательно ячейку столбца «Менеджер», любую.
Скриншот: Excel / Skillbox Media
Шаг 2. На вкладке «Главная» нажимаем кнопку «Сортировка и фильтр».
Скриншот: Excel / Skillbox Media
Шаг 3. В появившемся меню выбираем пункт «Фильтр».
Скриншот: Excel / Skillbox Media
То же самое можно сделать через кнопку «Фильтр» на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Шаг 4. В каждой ячейке шапки таблицы появились кнопки со стрелками — нажимаем на кнопку столбца, который нужно отфильтровать. В нашем случае это столбец «Менеджер».
Скриншот: Excel / Skillbox Media
Шаг 5. В появившемся меню флажком выбираем данные, которые нужно оставить в таблице, — в нашем случае данные менеджера Соколова П., — и нажимаем кнопку «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — таблица показывает данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация.
Скриншот: Excel / Skillbox Media
Чтобы ещё уменьшить количество отображаемых в таблице данных, можно применять несколько фильтров одновременно. При этом как фильтр можно задавать не только точное значение ячеек, но и условие, которому отфильтрованные ячейки должны соответствовать.
Разберём на примере.
Выше мы уже отфильтровали таблицу по одному параметру — оставили в ней продажи только менеджера Соколова П. Добавим второй параметр — среди продаж Соколова П. покажем автомобили дороже 1,5 млн рублей.
Шаг 1. Открываем меню фильтра для столбца «Цена, руб.» и нажимаем на параметр «Выберите».
Скриншот: Excel / Skillbox Media
Шаг 2. Выбираем критерий, которому должны соответствовать отфильтрованные ячейки.
В нашем случае нужно показать автомобили дороже 1,5 млн рублей — выбираем критерий «Больше».
Скриншот: Excel / Skillbox Media
Шаг 3. Дополняем условие фильтрации — в нашем случае «Больше 1500000» — и нажимаем «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — фильтрация сработала по двум параметрам. Теперь таблица показывает только те проданные менеджером авто, цена которых была выше 1,5 млн рублей.
Скриншот: Excel / Skillbox Media
Расширенный фильтр позволяет фильтровать таблицу по сложным критериям сразу в нескольких столбцах.
Это можно сделать способом, который мы описали выше: поочерёдно установить несколько стандартных фильтров или фильтров с условиями пользователя. Но в случае с объёмными таблицами этот способ может быть неудобным и трудозатратным. Для экономии времени применяют расширенный фильтр.
Принцип работы расширенного фильтра следующий:
- Копируют шапку исходной таблицы и создают отдельную таблицу для условий фильтрации.
- Вводят условия.
- Запускают фильтрацию.
Разберём на примере. Отфильтруем отчётность автосалона по трём критериям:
- менеджер — Шолохов Г.;
- год выпуска автомобиля — 2019-й или раньше;
- цена — до 2 млн рублей.
Шаг 1. Создаём таблицу для условий фильтрации — для этого копируем шапку исходной таблицы и вставляем её выше.
Важное условие — между таблицей с условиями и исходной таблицей обязательно должна быть пустая строка.
Скриншот: Excel / Skillbox Media
Шаг 2. В созданной таблице вводим критерии фильтрации:
- «Год выпуска» → <=2019.
- «Цена, руб.» → <2000000.
- «Менеджер» → Шолохов Г.
Скриншот: Excel / Skillbox Media
Шаг 3. Выделяем любую ячейку исходной таблицы и на вкладке «Данные» нажимаем кнопку «Дополнительно».
Скриншот: Excel / Skillbox Media
Шаг 4. В появившемся окне заполняем параметры расширенного фильтра:
- Выбираем, где отобразятся результаты фильтрации: в исходной таблице или в другом месте. В нашем случае выберем первый вариант — «Фильтровать список на месте».
- Диапазон списка — диапазон таблицы, для которой нужно применить фильтр. Он заполнен автоматически, для этого мы выделяли ячейку исходной таблицы перед тем, как вызвать меню.
Скриншот: Excel / Skillbox Media
- Диапазон условий — диапазон таблицы с условиями фильтрации. Ставим курсор в пустое окно параметра и выделяем диапазон: шапку таблицы и строку с критериями. Данные диапазона автоматически появляются в окне параметров расширенного фильтра.
Скриншот: Excel / Skillbox Media
Шаг 5. Нажимаем «ОК» в меню расширенного фильтра.
Готово — исходная таблица отфильтрована по трём заданным параметрам.
Скриншот: Excel / Skillbox Media
Отменить фильтрацию можно тремя способами:
1. Вызвать меню отфильтрованного столбца и нажать на кнопку «Очистить фильтр».
Скриншот: Excel / Skillbox Media
2. Нажать на кнопку «Сортировка и фильтр» на вкладке «Главная». Затем — либо снять галочку напротив пункта «Фильтр», либо нажать «Очистить фильтр».
Скриншот: Excel / Skillbox Media
3. Нажать на кнопку «Очистить» на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше