Сортировка excel с пустыми ячейками

Если у вас есть список данных, заполненный пустыми ячейками, теперь вам нужно отсортировать все пустые ячейки поверх данных. Когда вы применяете функцию «Сортировка» в Excel, функции «Сортировка от наименьшего к наибольшему» и «Сортировка от наибольшего к наименьшему» будут сортировать пустые ячейки в нижней части записей. В этом случае в следующем руководстве будет рассказано о том, как сортировать строки и помещать пустые ячейки сверху в Excel.

Сортировка строк, чтобы пустые ячейки располагались сверху, сортируя цветные ячейки
Сортируйте строки, чтобы пустые ячейки располагались сверху с помощью вспомогательного столбца
Сортировка строк, чтобы пустые ячейки располагались сверху с кодом VBA
Легко сортируйте строки, чтобы разместить пустые ячейки сверху с помощью Kutools for Excel


Сортировка строк, чтобы пустые ячейки располагались сверху, сортируя цветные ячейки

В Excel вы можете сортировать данные по цвету фона, поэтому здесь вы можете заполнить пустые ячейки определенным цветом, а затем отсортировать их по цвету. Пожалуйста, выполните следующие действия:

1. Выберите свой список данных и нажмите Ctrl + G для открытия Перейти к диалоговое окно, затем щелкните Особый кнопку, см. снимок экрана:

doc-sort-blanks-first1

2. В всплывающем Перейти к Специальное диалоговое окно, отметьте Пробелы , а затем нажмите OK.

doc-sort-blanks-first1

3. И все пустые ячейки были выделены, теперь вы можете залить их цветом, нажав Главная > Цвет заливки и выбрав нужный цвет, как показано на следующем снимке экрана:

doc-sort-blanks-first1

4. Затем вы можете отсортировать список по цвету заливки, выберите значения и нажмите Данные > Сортировать, во всплывающем Сортировать диалоговом окне выберите столбец, который вы хотите отсортировать, и выберите Цвет ячейки из Сортировать по раскрывающийся список, затем щелкните цвет пустых ячеек, наконец, выберите на вершине вариант. Смотрите скриншот:

doc-sort-blanks-first1

5. После завершения настройки нажмите OK, сначала были отсортированы все цветные пустые ячейки, затем вы можете удалить цвет после сортировки. Смотрите скриншоты:


Сортируйте строки, чтобы пустые ячейки располагались сверху с помощью вспомогательного столбца

Чтобы отсортировать пустые ячейки в верхней части списка данных, вы можете использовать формулу для определения пустых полей, а затем применить функцию сортировки.

1. В пустой ячейке рядом с данными, например ячейкой B1, введите эту формулу = A1 = «», см. снимок экрана:

doc-sort-blanks-first1

2. Затем перетащите маркер заполнения к ячейкам, которые вы хотите содержать эту формулу, и все пустые ячейки отображаются как ИСТИНА, и другие как Ложь, см. снимок экрана:

doc-sort-blanks-first1

3. Затем нажмите Данные > Сортировать от большего к меньшемуИ Предупреждение о сортировке появится диалоговое окно, затем проверьте Расширить выбор, смотрите скриншоты:

4, Затем нажмите OK, все пустые ячейки отсортированы поверх значений.

doc-sort-blanks-first1

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 Чтобы запустить этот код, во всплывающем диалоговом окне выберите диапазон данных, который вы хотите отсортировать, см. снимок экрана:

doc-sort-blanks-first1

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-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Содержание

  1. Удаляем в EXCEL пустые строки в таблице
  2. Сортировка
  3. Фильтр
  4. Выделение группы ячеек
  5. Сортировка данных в Excel по строкам и столбцам с помощью формул
  6. Порядок сортировки в Excel
  7. Сортировка по цвету ячейки и по шрифту
  8. Сортировка в Excel по нескольким столбцам
  9. Сортировка строк в Excel
  10. Случайная сортировка в Excel
  11. Динамическая сортировка таблицы в MS Excel
  12. Excel сортировка пустые ячейки

Удаляем в EXCEL пустые строки в таблице

history 25 апреля 2013 г.

Часто, особенно при импорте данных в EXCEL, на листе могут формироваться таблицы с ПОЛНОСТЬЮ пустыми строками. Научимся быстро удалять эти ненужные строки, которые в дальнейшем могут затруднить работу с таблицей.

Представим, что у нас есть таблица с какими-то значениями, в которой есть полностью пустые строки.

Приведем методы, которые используются при удалении пустых строк. Зачем нужно удалять пустые строки можно прочитать в статье Советы по построению таблиц .

Сортировка

Самым простым способом удаления пустых строк является сортировка таблицы: выделяем диапазон, в котором содержится таблица ( А2:C17 ), затем вызываем команду меню Данные/ Сортировка и фильтр/ Сортировка от минимального к максимальному или просто /Сортировка .

При сортировке таблиц с несколькими столбцами нужно быть осторожным, чтобы ячейки не перескочили из своих строк в другие. Поэтому, для сортировки нужно выделять всю таблицу. После сортировки по возрастанию пустые строки окажутся внизу таблицы.

Если важен порядок строк до сортировки, то перед сортировкой нужно создать столбец с порядковой нумерацией строк, а после удаления пустых строк, заново отсортировать таблицу уже по этому столбцу.

Фильтр

Для нахождения пустых ячеек можно также воспользоваться Фильтром ( Главная/ Редактирование/ Сортировка и фильтр/ Фильтр ). Выбираем подходящий столбец, отображаем только пустые ячейки, выделяем строки не содержащие данных и удаляем их.

Выделение группы ячеек

Другим способом выделения пустых ячеек является использование инструмента Выделение группы ячеек .

  • выделяем диапазон А2:C17 ;
  • выбираем пункт меню Главная/ Редактирование/ Найти и выделить/ Выделение группы ячеек… ,

  • выберите пункт пустые ячейки в разделе Выделить ;

  • далее нажимаем маленькую стрелочку в меню Главная/ Ячейки/ Удалить ;
  • выберем Удалить ячейки (удалить ячейки, со сдвигом вверх) .

Здесь нужно быть аккуратным: если таблица сдержит помимо пустых строк, строки с заполненными и пустыми ячейками, то часть ячеек перескочит со своих строк на другие, что испортит таблицу. Если таблица в формате EXCEL 2007 , то EXCEL не даст испортить таким образом таблицу: появится сообщение «Данная команда неприменима для перекрывающихся диапазонов».

СОВЕТ: Стоит помнить, что ячейки, содержащие формулы (даже если это ссылки на пустые ячейки), не считаются пустыми по определению.

Источник

Сортировка данных в Excel по строкам и столбцам с помощью формул

Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.

Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.

Порядок сортировки в Excel

Существует два способа открыть меню сортировки:

  1. Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
  2. Открыть вкладку «Данные» — диалоговое окно «Сортировка».

Часто используемые методы сортировки представлены одной кнопкой на панели задач:

Сортировка таблицы по отдельному столбцу:

  1. Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
  2. Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.

Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.

Сортировка по цвету ячейки и по шрифту

Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.

Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:

  1. Выделяем столбец – правая кнопка мыши – «Сортировка».
  2. Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
  3. Соглашаемся «автоматически расширить диапазон».

Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».

В открывшемся окне вводим необходимые параметры:

Здесь можно выбрать порядок представления разных по цвету ячеек.

По такому же принципу сортируются данные по шрифту.

Сортировка в Excel по нескольким столбцам

Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.

  1. Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
  2. Нажимаем кнопку «Добавить уровень».
  3. Появляются окошки для введения данных следующего условия сортировки. Заполняем их.

Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.

Сортировка строк в Excel

По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:

  1. В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
  2. В открывшемся меню выбрать «Столбцы диапазона».
  3. Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.

Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.

Случайная сортировка в Excel

Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.

Например, нужно расположить в случайном порядке набор неких чисел.

Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.

Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.

Динамическая сортировка таблицы в MS Excel

Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.

  1. Есть набор простых чисел, которые нужно отсортировать по возрастанию.
  2. Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
  3. Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.

Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.

Для динамической сортировки текстовых значений понадобятся формулы массива.

  1. Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
  2. Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
  3. В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
  4. Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:

Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.

Источник

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 у меня не установлен, поэтому реализовать и проверить макрос я не могу.

Ну а то, что строго заданы диапазоны ячеек:

так это не проблема (это было сделано лишь в качестве примера)

Макрос легко может определить границы таблицы (если Вы укажете критерии), и, соответственно, осуществлять обработку нужного диапазона.

Источник

Сортировка пустых ячеек

Sashagor1982

Дата: Пятница, 13.01.2023, 22:33 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 275


Репутация:

-6

±

Замечаний:
0% ±


Excel 2007

Добрый вечер. Имеется ли возможность отсортировать столбец таким образом, чтобы вверху оказались непустые ячейки, а внизу пустые, при этом порядок непустых не менялся, так как в последствии будет применена многоуровневая сортировка?

 

Ответить

Gustav

Дата: Пятница, 13.01.2023, 23:43 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 2398


Репутация:

986

±

Замечаний:
0% ±


начинал с Excel 4.0, видел 2.1

Например, так. Если обрабатываем столбец A, то в соседний столбец формулу:

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


МОИ: Ник, Tip box: 41001663842605

 

Ответить

Sashagor1982

Дата: Суббота, 14.01.2023, 07:24 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 275


Репутация:

-6

±

Замечаний:
0% ±


Excel 2007

Есть ли способ не изменяя исходные поля?

 

Ответить

Nic70y

Дата: Суббота, 14.01.2023, 08:57 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

F5
выделить пустые,
залить,
настраиваемая сортировка по цвету


ЮMoney 41001841029809

 

Ответить

Gustav

Дата: Суббота, 14.01.2023, 16:09 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2398


Репутация:

986

±

Замечаний:
0% ±


начинал с Excel 4.0, видел 2.1

не изменяя исходные поля?

Какие исходные поля? Их никто и не трогает. Я предложил временную приспособу — формулу с ЕПУСТО. Добавьте ее в свободный столбец, отсортируйте по ней полные строки и удалите нафиг. Или у Вас уже заняты в таблице все 16 384 столбца ??!


МОИ: Ник, Tip box: 41001663842605

 

Ответить

 

Всем доброго времени суток!
Помогите решить задачу: из одномерного массива данных (текстовые значения) нужно с помощью формулы (без дополнительных столбцов) получить отсортированный список уникальных значений. Важно: в данном массиве содержатся пустые ячейки.
Пересмотрел все темы, где упоминалось про сортировку уникальных, к своей задаче применить не смог. Ранее была похожая задача с применением сортировки уникальных значений, только теперь ее нужно решить для массива с пустыми ячейками (пример во вложении).
Спасибо.

 

Ivan.kh

Пользователь

Сообщений: 2024
Регистрация: 04.03.2013

#2

11.06.2013 19:58:55

Илья Кочедыков, А макросом нельзя список создать такой???

Код
ActiveSheet.Range(ActiveCell.Address).RemoveDuplicates Columns:=1, Header:=xlNo

Макрос

ВОТ

из этой темы

Изменено: Ivan.kh11.06.2013 19:59:42

 

AndreTM

Пользователь

Сообщений: 454
Регистрация: 02.05.2013

#3

11.06.2013 20:39:13

Илья,
не, ну я (как и Nic70y) хотел предложить для начала использовать примерно такое же:

Код
{=ИНДЕКС($E$3:$E$38;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ($E$3:$E$38;$E$3:$E$38;0)=СТРОКА($1:$36);СТРОКА($1:$36));СТРОКА(A1)))}

вот только проблема-то как раз в сортировке…

Изменено: AndreTM11.06.2013 23:49:31

 

К сожалению не получилось мегаформулу, хоть вроде и решил задачу. Буду рад, если кто-нибудь напишет ответ. :(

С уважением,
Федор/Все_просто

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

Не нужны эти «мегаформулы» см. столбец H
Лучше с доп. столбцами (но лень)

Прикрепленные файлы

  • 19745.xls (32.5 КБ)

Изменено: Nic70y11.06.2013 21:25:12

 

Все равно, было интересно изобретать колесо, хотя кто-то уже и сделал это до меня. Мне все же очень бы хотелось доделать мой файл. Интересно, как можно реализовать все именно в моем варианте с помощью одной мегаформулы.

ЗЫ Может я и не соображаю под конец дня, но мне кажется, что в колонке Н четвертым не должен быть Васечкин. О_о

Изменено: Все_просто11.06.2013 21:44:02

С уважением,
Федор/Все_просто

 

Nic70y,
к сожалению Ваше предложение не подходит, т.к. в нем не работает сортировка. Но все равно, спасибо.)

 

Хотелось бы узнать, мое-то подходит?

С уважением,
Федор/Все_просто

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Илья, а почему обязательно формула — боитесь макросов?))

 

Юрий М, честно говоря никогда с ними не работал. Да и давно хотел эту задачу решить именно одной формулой.

Все_просто, конечно, хотелось бы одной формулой. Но, это тоже неплохо.))

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#11

11.06.2013 22:52:08

Цитата
Илья Кочедыков пишет:
Юрий М, честно говоря никогда с ними не работал.

Неправда! Поиск по листу, замену, сортировку делали? Так это и есть те самые макросы. Просто они не «самодельные» :)

 

Ну тогда, согласен.  :) Но все же, мне нужна именно формула.

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

На всякий случай вариант с макросом.

 

Спасибо, Юрий М. Подскажите тогда, пожалуйста, в каком месте в тексте макроса я могу изменять диапазон, с которого должна делаться выборка, а также, где изменить область вставки (где я хочу видеть отображаемый результат).

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Макрос может Вас спросить об этом сам — Вам достаточно будет дважды указать мыхой: ячейку, с которой начинается исходный диапазон, и ячейку, с которой начать выгрузку. Такой вариант подойдёт?

 

В принципе нужно будет задать диапазон только один раз, т.к. он в принципе меняться не будет. Было бы неудобно, если при каждом пересчете, нужно было указывать эти диапазоны. Может, вроде дополнительного параметра или дополнительного вопроса при пересчете? Если это будет неудобно, то, во всяком случае, нужно делать выборку по диапазону M5:M700, а результат вставлять в диапазон C24 и ниже (но на листе 2!).

Изменено: Илья Кочедыков11.06.2013 23:34:01

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

Ни когда не слушайте Nic70y!
Открою тайну — он читать не умеет (по крайней мере с первого раза)  :)

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Вот с диапазонами на разных листах. В коде небольшой комментарий, который поможет Вам самостоятельно менять диапазоны.

 

Пишет, что указанного файла не существует.

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

Заметил у себя ошибку — прикрепил исправленный файл — скачайте заново.

 

AndreTM

Пользователь

Сообщений: 454
Регистрация: 02.05.2013

#21

12.06.2013 00:06:18

В принципе, если уж дело дошло до макросов — могу предложить воспользоваться запросом, например:

Код
SELECT DISTINCT `Лист1$`.ФИО
FROM `Лист1$M4:M` `Лист1$`
WHERE (`Лист1$`.ФИО>'')
ORDER BY `Лист1$`.ФИО

Прикрепленные файлы

  • 48899-1.xls (31 КБ)

 

Гулять так гулять. Создаем сводную таблицу и не мучаемся. По-моему, в общем случае это самый оптимальный способ. Всякие макросы и формулы ни к чему.

С уважением,
Федор/Все_просто

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

Усложним: 3 символа
Файл удалил — тоже самое в сообщении ниже.

Изменено: Nic70y12.06.2013 01:59:20

 

Юрий М, к сожалению у меня Ваш последний вариант работает некорректно. Если я указываю имя листа 2 в тексте макроса, выборка уникальных происходит со столбца М именно этого листа, а нужно, чтобы вытягивало с листа 1 (диапазон М5:М700) на лист 2 (начиная с ячейки С24 и вниз). Или я что-то не то сделал? Подскажите, пожалуйста.

 

Nic70y, исходный диапазон изменяемый. Если в предложенном Вами варианте что-либо изменить в исходном диапазоне, сразу выдает ошибку.

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

#26

12.06.2013 01:11:37

Цитата
3 символа

Офис 2003?

Прикрепленные файлы

  • 29000.xls (32 КБ)

Изменено: Nic70y12.06.2013 01:59:40

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#27

12.06.2013 01:12:57

Цитата
Все_просто пишет:
Всякие макросы и формулы ни к чему.

То у Вас макросы «ни к чему», теперь ещё и формулы))

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#28

12.06.2013 01:15:05

Цитата
Илья Кочедыков пишет:
Если я указываю имя листа 2 в тексте макроса, выборка уникальных происходит со столбца М именно этого листа, а нужно, чтобы вытягивало с листа 1

Именно с первого листа и отбираются уникальные на второй лист. Скачайте мой файл ЗАНОВО. Пост #20 видели?

 

DV

Пользователь

Сообщений: 628
Регистрация: 22.12.2012

#29

12.06.2013 06:33:26

Вариант формулы:

Код
=ИНДЕКС(E$4:E$38;ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(E$4:E$38;"<="&E$4:E$38);СУММ(1;СЧЁТЕСЛИ(E$4:E$38;I$3:I3);СЧИТАТЬПУСТОТЫ(E$4:E$38)));СЧЁТЕСЛИ(E$4:E$38;"<="&E$4:E$38);))
 

Илья Кочедыков

Пользователь

Сообщений: 14
Регистрация: 18.01.2013

#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.

  1. Select desired range of column that contains blank values you want to sort by
  2. 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)
  3. Select ‘Format…’, select ‘Font’ tab and change the Font color to something not black or ‘Automatic’, apply changes
  4. 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

Понравилась статья? Поделить с друзьями:
  • Сортировка в excel для 9 классов
  • Сортировка excel по содержимому ячейки
  • Сортировка в excel возможна только для
  • Сортировка excel по своему списку
  • Сортировка в excel 2013