Если у вас есть список данных, заполненный пустыми ячейками, теперь вам нужно отсортировать все пустые ячейки поверх данных. Когда вы применяете функцию «Сортировка» в Excel, функции «Сортировка от наименьшего к наибольшему» и «Сортировка от наибольшего к наименьшему» будут сортировать пустые ячейки в нижней части записей. В этом случае в следующем руководстве будет рассказано о том, как сортировать строки и помещать пустые ячейки сверху в Excel.
Сортировка строк, чтобы пустые ячейки располагались сверху, сортируя цветные ячейки
Сортируйте строки, чтобы пустые ячейки располагались сверху с помощью вспомогательного столбца
Сортировка строк, чтобы пустые ячейки располагались сверху с кодом VBA
Легко сортируйте строки, чтобы разместить пустые ячейки сверху с помощью Kutools for Excel
Сортировка строк, чтобы пустые ячейки располагались сверху, сортируя цветные ячейки
В Excel вы можете сортировать данные по цвету фона, поэтому здесь вы можете заполнить пустые ячейки определенным цветом, а затем отсортировать их по цвету. Пожалуйста, выполните следующие действия:
1. Выберите свой список данных и нажмите Ctrl + G для открытия Перейти к диалоговое окно, затем щелкните Особый кнопку, см. снимок экрана:
2. В всплывающем Перейти к Специальное диалоговое окно, отметьте Пробелы , а затем нажмите OK.
3. И все пустые ячейки были выделены, теперь вы можете залить их цветом, нажав Главная > Цвет заливки и выбрав нужный цвет, как показано на следующем снимке экрана:
4. Затем вы можете отсортировать список по цвету заливки, выберите значения и нажмите Данные > Сортировать, во всплывающем Сортировать диалоговом окне выберите столбец, который вы хотите отсортировать, и выберите Цвет ячейки из Сортировать по раскрывающийся список, затем щелкните цвет пустых ячеек, наконец, выберите на вершине вариант. Смотрите скриншот:
5. После завершения настройки нажмите OK, сначала были отсортированы все цветные пустые ячейки, затем вы можете удалить цвет после сортировки. Смотрите скриншоты:
Сортируйте строки, чтобы пустые ячейки располагались сверху с помощью вспомогательного столбца
Чтобы отсортировать пустые ячейки в верхней части списка данных, вы можете использовать формулу для определения пустых полей, а затем применить функцию сортировки.
1. В пустой ячейке рядом с данными, например ячейкой B1, введите эту формулу = A1 = «», см. снимок экрана:
2. Затем перетащите маркер заполнения к ячейкам, которые вы хотите содержать эту формулу, и все пустые ячейки отображаются как ИСТИНА, и другие как Ложь, см. снимок экрана:
3. Затем нажмите Данные > Сортировать от большего к меньшемуИ Предупреждение о сортировке появится диалоговое окно, затем проверьте Расширить выбор, смотрите скриншоты:
4, Затем нажмите OK, все пустые ячейки отсортированы поверх значений.
5. Наконец, вы можете удалить значения в вспомогательном столбце B по мере необходимости.
Сортировка строк, чтобы пустые ячейки располагались сверху с кодом VBA
Примените следующий код VBA, вы можете быстро отсортировать пустые ячейки поверх данных.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: сортировка пустых ячеек поверх данных
Sub SortBlankOnTop()
'Update 20140318
On Error Resume Next
Dim WorkRng As Range
Dim xMin As Double
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xMin = Application.WorksheetFunction.Small(WorkRng, 1) - 1
WorkRng.SpecialCells(xlCellTypeBlanks) = xMin
WorkRng.Sort , Key1:=Cells(WorkRng.Row, WorkRng.Column), Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
WorkRng.Replace What:=xMin, Replacement:="", LookAt:=xlWhole
End Sub
3, Затем нажмите F5 Чтобы запустить этот код, во всплывающем диалоговом окне выберите диапазон данных, который вы хотите отсортировать, см. снимок экрана:
4, Затем нажмите OK, пустые ячейки отсортированы сверху.
Легко сортируйте строки, чтобы разместить пустые ячейки сверху с помощью Kutools for Excel
Наблюдения и советы этой статьи мы подготовили на основании опыта команды Расширенная сортировка полезности Kutools for Excel может помочь вам легко сортировать строки и помещать пустые ячейки сверху в Excel. Пожалуйста, сделайте следующее.
1. Выберите диапазон, который нужно отсортировать, и поместите пустые ячейки сверху, а затем щелкните Кутулс Плюс > Сортировать > Расширенная сортировка.
2. в Расширенная сортировка диалоговом окне выберите условие сортировки, а затем установите флажок Пустые ячейки впереди поле и, наконец, щелкните OK кнопка. Смотрите скриншот:
Затем выбранный диапазон сортируется, и все пустые ячейки сразу помещаются наверх, как показано на скриншоте ниже.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Легко сортируйте строки, чтобы разместить пустые ячейки сверху с помощью Kutools for Excel
Статьи по теме:
- Как отсортировать или отфильтровать данные в Excel по зачеркиванию?
- Как отсортировать данные в Excel по наиболее частому значению?
- Как отсортировать адрес электронной почты по домену в Excel?
- Как сортировать строки по нечетным или четным числам в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Содержание
- Удаляем в EXCEL пустые строки в таблице
- Сортировка
- Фильтр
- Выделение группы ячеек
- Сортировка данных в Excel по строкам и столбцам с помощью формул
- Порядок сортировки в Excel
- Сортировка по цвету ячейки и по шрифту
- Сортировка в Excel по нескольким столбцам
- Сортировка строк в Excel
- Случайная сортировка в Excel
- Динамическая сортировка таблицы в MS Excel
- Excel сортировка пустые ячейки
Удаляем в EXCEL пустые строки в таблице
history 25 апреля 2013 г.
Часто, особенно при импорте данных в EXCEL, на листе могут формироваться таблицы с ПОЛНОСТЬЮ пустыми строками. Научимся быстро удалять эти ненужные строки, которые в дальнейшем могут затруднить работу с таблицей.
Представим, что у нас есть таблица с какими-то значениями, в которой есть полностью пустые строки.
Приведем методы, которые используются при удалении пустых строк. Зачем нужно удалять пустые строки можно прочитать в статье Советы по построению таблиц .
Сортировка
Самым простым способом удаления пустых строк является сортировка таблицы: выделяем диапазон, в котором содержится таблица ( А2:C17 ), затем вызываем команду меню Данные/ Сортировка и фильтр/ Сортировка от минимального к максимальному или просто /Сортировка .
При сортировке таблиц с несколькими столбцами нужно быть осторожным, чтобы ячейки не перескочили из своих строк в другие. Поэтому, для сортировки нужно выделять всю таблицу. После сортировки по возрастанию пустые строки окажутся внизу таблицы.
Если важен порядок строк до сортировки, то перед сортировкой нужно создать столбец с порядковой нумерацией строк, а после удаления пустых строк, заново отсортировать таблицу уже по этому столбцу.
Фильтр
Для нахождения пустых ячеек можно также воспользоваться Фильтром ( Главная/ Редактирование/ Сортировка и фильтр/ Фильтр ). Выбираем подходящий столбец, отображаем только пустые ячейки, выделяем строки не содержащие данных и удаляем их.
Выделение группы ячеек
Другим способом выделения пустых ячеек является использование инструмента Выделение группы ячеек .
- выделяем диапазон А2:C17 ;
- выбираем пункт меню Главная/ Редактирование/ Найти и выделить/ Выделение группы ячеек… ,
- выберите пункт пустые ячейки в разделе Выделить ;
- далее нажимаем маленькую стрелочку в меню Главная/ Ячейки/ Удалить ;
- выберем Удалить ячейки (удалить ячейки, со сдвигом вверх) .
Здесь нужно быть аккуратным: если таблица сдержит помимо пустых строк, строки с заполненными и пустыми ячейками, то часть ячеек перескочит со своих строк на другие, что испортит таблицу. Если таблица в формате EXCEL 2007 , то EXCEL не даст испортить таким образом таблицу: появится сообщение «Данная команда неприменима для перекрывающихся диапазонов».
СОВЕТ: Стоит помнить, что ячейки, содержащие формулы (даже если это ссылки на пустые ячейки), не считаются пустыми по определению.
Источник
Сортировка данных в Excel по строкам и столбцам с помощью формул
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
Источник
Excel сортировка пустые ячейки
Пустые ячейки нужно сохранить — т.е. их конечно можно для правильной сортировки заполнить чем-то, но потом надо снова очистить.
Скорее всего, только так и получится отсортировать.
Заполнить ячейки, в принципе, не проблема, очистить их потом — тоже.
Объясните, как должна осуществляться сортировка:
1 вариант: на листе 2 кнопки — заполнить и очистить. Вы нажимаете кнопку Заполнить, потом вручную сортируете как надо, после чего нажимаете Очистить
2 вариант: на листе одна кнопка — сортировать, при нажатии на которую макрос заполняет пустые поля, сортирует заранее определённым способом, и очищает нужные ячейки.
Объясните, как должна осуществляться сортировка
Конечно, более универсальный вариант предпочтительнее. Таким вроде бы выглядит вариант 1. Но главное, чтобы сортировку можно было сделать по нескольким столбцам: в одном случае — по двум, в другом — по пяти и т.д. и чтоб столбцы эти не очень сложным способом можно было указать. И еще — сортировка должна работать как минимум в Excel 2002-2003 (еще лучше — и для 97 тоже или универсальная).
А может вариант 2 все-таки лучше: указал в самом макросе сортировка прямая или обратная, задал по каким столбцам сортировать, вернулся в Excel, выделил нужный диапазон строк, нажал всего одну кнопку и готово. Но лучше было бы, чтоб и столбцы, по каким сортировать, можно было указывать из Excel, а не Бейсика.
Внимание: при заполнении пустых ячеек вручную данными из вышестоящей ячейки и стандартной сортировке (меню Данные -> Сортировка -> по возрастанию), первая строка каждой группы у меня почему-то становится последней в этой группе, что неприемлемо.
Может, как-то так?
Нажмите сначала зелёную, а потом желтую кнопочку:
Вложения
База-пример 2.rar (15.9 Кб, 216 просмотров) |
Боже мой, программа не только правильно сортирует, она еще и элегантно оформлена! Ну это же надо! Спасибо огромное.
Но все-таки есть несколько вопросов:
1. Пожалуйста, опишите какие действия происходят при нажатии на Зеленую, Желтую и Красную кнопки. Хоть и мало знаний, но все-таки очень интересно.
2. Если галочка «Отображать пустые ячейки» снята, то можно ли чтобы программа в этом случае сохраняла исходное форматирование строк? Или даже в любом случае сохраняла? А то строки и ячейки часто раскрашены в разные цвета и все пропадает. Это возможно подправить?
3. Можно расширить помощь при нажатии на Желтую кнопку? Сейчас «Выполните сортировку через меню Excel», а сделать типа «Выделите нужный диапазон строк, а затем выполните сортировку через меню Excel. Сортировка возможна максимум по . столбцам».
4. Длину всех трех кнопок сделать где-то на четверть меньше, они чуть длинноваты и иногда приходится тянуть ползунок, что часто неудобно.
какие действия происходят при нажатии на Зеленую, Желтую и Красную кнопки
Откройте VBA, и посмотрите код.
Там 3 макроса:
Sub ЗаполнитьПустыеЯчейки()
Sub Очистка()
Sub Сортировка()
можно ли чтобы программа в этом случае сохраняла исходное форматирование строк?
Конечно, можно. Достаточно убрать несколько строк.
Раскраска ячеек (фон, шрифт, и полужирное начертание) реализована исключительно для наглядности.
Можно расширить помощь при нажатии на Желтую кнопку?
Можно. Проблема в том, что в некоторые пустые ячейки добавляется единица, что не мешает сортировке по возрастанию. Однако при сортировке по убыванию пустые ячейки надо заполнять не единицами, а строками типа «яяя». То есть макрос перед заполнением пустых ячеек должен знать, какой столбец в каком порядке будет сортироваться.
Сейчас «Выполните сортировку через меню Excel», а сделать типа «Выделите нужный диапазон строк
За это отвечает строка
MsgBox «Выполните сортировку через меню Excel»
Текст можно поставить любой.
Длину всех трех кнопок сделать где-то на четверть меньше
Еще раз спасибо, теперь уже за профессионально быстрый ответ и пояснения. Однако, если у Вас еще сохранились возможность и желание отвечать мне, все-таки несколько вопросов:
1. Прошу посмотреть исправленный код и внести правку, если нужно.
База-пример-3.zip
2. Правильно ли я понимаю, что сортировка строк возможна только если они находятся начиная с 3-й строки и расположены в 6-ти столбцах и идет она по 4-м столбцам? А иначе надо менять код? Или нет?
3. Из-за слабых знаний Бейсика мне не удалось сделать сортировку по убыванию. Можете помочь и добавить второй ряд кнопок для сортировки по убыванию?
Вложения
Книга1.rar (1.7 Кб, 48 просмотров) |
Правильно ли я понимаю, что сортировка строк возможна только если они находятся начиная с 3-й строки и расположены в 6-ти столбцах и идет она по 4-м столбцам? А иначе надо менять код? Или нет?
Сделать можно всё, в том числе и сортировку самыми разными способами.
Вот только в связи с особенностями структуры исходных данных придётся задавать сортировку по всем столбцам, начиная с первого, и заканчивая последним столбцом, требующим сортировки.
К примеру, надо отсортировать таблицу по 4-му столбцу (в данном случае неважно, по возрастанию или по убыванию).
Для этого мы во избежание перемешивания строк вынуждены задать сортировку не только по 4-му столбцу, а по всем столбцам, начиная с первого, и заканчивая 4-м.
И всё бы хорошо, но у меня не установлен Excel 2007. а 2003-я версия не позволяет задать более 3 уровней сортировки:
В Office Excel 2007 с помощью расширенных средств сортировки и фильтрации можно быстро представить данные в листе таким образом, чтобы получить нужные ответы. Например, теперь можно сортировать данные по цветам и по большему, чем 3 (вплоть до 64), количеству уровней. Можно также фильтровать данные по цветам или датам, отображать более 1000 элементов в раскрывающемся списке «Автофильтр», выделять несколько элементов для фильтрации и фильтровать данные в сводных таблицах.
Поэтому я не могу предложить Вам универсального решения задачи средствами Excel 2003.
В общем случае решение может выглядеть так:
1) Во второй (пустой) строке листа пользователь для каждого столбца (или только для некоторых столбцов) выбирает режим сортировки
(неважно, как именно — при помощи флажков, или выпадающего списка в ячейке) — по убыванию или по возрастанию
2) Уже после этого выбора пользователь нажимает зелёную кнопку для заполнения таблицы (пустые ячейки в каждом столбце теперь заполняются значениями «1» или «яяя» — в зависимости от режима сортировки в текущем столбце)
3) Нажимать желтую кнопочку для сортировки нет необходимости — поскольку критерии сортировки указаны, она будет выполнена автоматически.
Но, повторюсь, Excel 2007 у меня не установлен, поэтому реализовать и проверить макрос я не могу.
Ну а то, что строго заданы диапазоны ячеек:
так это не проблема (это было сделано лишь в качестве примера)
Макрос легко может определить границы таблицы (если Вы укажете критерии), и, соответственно, осуществлять обработку нужного диапазона.
Источник
Сортировка пустых ячеек |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Всем доброго времени суток! |
|
Ivan.kh Пользователь Сообщений: 2024 |
#2 11.06.2013 19:58:55 Илья Кочедыков, А макросом нельзя список создать такой???
Макрос ВОТ из этой темы Изменено: Ivan.kh — 11.06.2013 19:59:42 |
||
AndreTM Пользователь Сообщений: 454 |
#3 11.06.2013 20:39:13 Илья,
вот только проблема-то как раз в сортировке… Изменено: AndreTM — 11.06.2013 23:49:31 |
||
К сожалению не получилось мегаформулу, хоть вроде и решил задачу. Буду рад, если кто-нибудь напишет ответ. С уважением, |
|
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
Не нужны эти «мегаформулы» см. столбец H Прикрепленные файлы
Изменено: Nic70y — 11.06.2013 21:25:12 |
Все равно, было интересно изобретать колесо, хотя кто-то уже и сделал это до меня. Мне все же очень бы хотелось доделать мой файл. Интересно, как можно реализовать все именно в моем варианте с помощью одной мегаформулы. ЗЫ Может я и не соображаю под конец дня, но мне кажется, что в колонке Н четвертым не должен быть Васечкин. О_о Изменено: Все_просто — 11.06.2013 21:44:02 С уважением, |
|
Nic70y, |
|
Хотелось бы узнать, мое-то подходит? С уважением, |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Илья, а почему обязательно формула — боитесь макросов?)) |
Юрий М, честно говоря никогда с ними не работал. Да и давно хотел эту задачу решить именно одной формулой. Все_просто, конечно, хотелось бы одной формулой. Но, это тоже неплохо.)) |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#11 11.06.2013 22:52:08
Неправда! Поиск по листу, замену, сортировку делали? Так это и есть те самые макросы. Просто они не «самодельные» |
||
Ну тогда, согласен. Но все же, мне нужна именно формула. |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
На всякий случай вариант с макросом. |
Спасибо, Юрий М. Подскажите тогда, пожалуйста, в каком месте в тексте макроса я могу изменять диапазон, с которого должна делаться выборка, а также, где изменить область вставки (где я хочу видеть отображаемый результат). |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Макрос может Вас спросить об этом сам — Вам достаточно будет дважды указать мыхой: ячейку, с которой начинается исходный диапазон, и ячейку, с которой начать выгрузку. Такой вариант подойдёт? |
В принципе нужно будет задать диапазон только один раз, т.к. он в принципе меняться не будет. Было бы неудобно, если при каждом пересчете, нужно было указывать эти диапазоны. Может, вроде дополнительного параметра или дополнительного вопроса при пересчете? Если это будет неудобно, то, во всяком случае, нужно делать выборку по диапазону M5:M700, а результат вставлять в диапазон C24 и ниже (но на листе 2!). Изменено: Илья Кочедыков — 11.06.2013 23:34:01 |
|
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
Ни когда не слушайте Nic70y! |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Вот с диапазонами на разных листах. В коде небольшой комментарий, который поможет Вам самостоятельно менять диапазоны. |
Пишет, что указанного файла не существует. |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Заметил у себя ошибку — прикрепил исправленный файл — скачайте заново. |
AndreTM Пользователь Сообщений: 454 |
#21 12.06.2013 00:06:18 В принципе, если уж дело дошло до макросов — могу предложить воспользоваться запросом, например:
Прикрепленные файлы
|
||
Гулять так гулять. Создаем сводную таблицу и не мучаемся. По-моему, в общем случае это самый оптимальный способ. Всякие макросы и формулы ни к чему. С уважением, |
|
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
Усложним: 3 символа Изменено: Nic70y — 12.06.2013 01:59:20 |
Юрий М, к сожалению у меня Ваш последний вариант работает некорректно. Если я указываю имя листа 2 в тексте макроса, выборка уникальных происходит со столбца М именно этого листа, а нужно, чтобы вытягивало с листа 1 (диапазон М5:М700) на лист 2 (начиная с ячейки С24 и вниз). Или я что-то не то сделал? Подскажите, пожалуйста. |
|
Nic70y, исходный диапазон изменяемый. Если в предложенном Вами варианте что-либо изменить в исходном диапазоне, сразу выдает ошибку. |
|
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
#26 12.06.2013 01:11:37
Офис 2003? Прикрепленные файлы
Изменено: Nic70y — 12.06.2013 01:59:40 |
||
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#27 12.06.2013 01:12:57
То у Вас макросы «ни к чему», теперь ещё и формулы)) |
||
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
#28 12.06.2013 01:15:05
Именно с первого листа и отбираются уникальные на второй лист. Скачайте мой файл ЗАНОВО. Пост #20 видели? |
||
DV Пользователь Сообщений: 628 |
#29 12.06.2013 06:33:26 Вариант формулы:
|
||
Илья Кочедыков Пользователь Сообщений: 14 |
#30 12.06.2013 10:43:37 Юрий М, разобрался. Макрос надо было вставлять в модуль листа 1, а не в модуль листа 2. Получилось. Большое спасибо, РАБОТАЕТ!!!!)) DV, большое спасибо. ТОЖЕ РАБОТАЕТ!!!))) Всем спасибо за участие, решили задачу двумя способами. |
I ended coming up with a solution that IMO, is more elegant than @Poweruser ‘s creating another column, populating it, hiding it, and then using sort on the hidden column. My method utilizes font color changes based on conditional formatting and sorts off of that.
- Select desired range of column that contains blank values you want to sort by
- Use Conditional Formatting>New Rule>’Use a formula to determine which cells to format’ and in the textbox use the formula
=IF(INDIRECT("RC",0)="",TRUE,FALSE)
- Select ‘Format…’, select ‘Font’ tab and change the Font color to something not black or ‘Automatic’, apply changes
- Using ‘Sort’, have ‘Sort By’ be the column with the blank cells, ‘Sort On’ be ‘Font Color’, and for ‘Order By’ change Automatic to whatever color you selected and have it be ‘On Top’
With a little bit of tinkering of the recorded macro, I got the following working code (which also sorts by value another column after sorting for the ‘blank’ cells):
For oRow = 2 To iFinalRow
ActiveWorkbook.ActiveSheet.Cells(oRow, 5).Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=IF(INDIRECT(""RC"",0)="""",TRUE,FALSE)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Next oRow
'Sort
ActiveWorkbook.ActiveSheet.SORT.SortFields.Clear
ActiveWorkbook.ActiveSheet.SORT.SortFields.Add(Range("E:E"), _
xlSortOnFontColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(31, 73, 125)
ActiveWorkbook.ActiveSheet.SORT.SortFields.Add _
Key:=Range("D1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.ActiveSheet.SORT
.SetRange Range("A:F")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With