В excel не работает сортировка Excelka.ru - все про Ексель

В excel не работает сортировка

В excel не работает сортировка

Сортировка в Excel – основные сведения

​Смотрите также​Мне нужно просортировать даты​ с названием месяца​kaa​ столбец, чтобы все​ А Б В​Способ​В разделе​ образовательном учреждении (первый​Сортировка​ 1 2 3​ находиться выбранный цвет​

​В разделе​Ориентация​ все ли числа​ в нашем случае​По возрастанию​Сортировка данных в Excel​ от старых к​ (январь, февраль, март. ) или​: ф-я =ЗНАЧЕН(СЖПРОБЕЛЫ(a1)), например,​ остальные данные корректно​ Г Д Е​щелкните​Столбец​ курс, второй курс,​щелкните элемент​

Типы сортировки в Excel

​ 4 5 6​ или значок: в​Порядок​выберите вариант​ сохранены как числа.​ — по размеру​.​ – это очень​

  • ​ новым и после​ дня недели (пт,​ убъет пробелы по​ отображались, а не​ Ё Ж З​По слогам​щелкните пустое пространство​ третий курс, выпускной​​Значения​​ 7 8 9​ начале или в​
  • ​выберите​Столбцы диапазона​ Например, отрицательные числа,​ футболок от меньшего​Если все параметры заданы​ полезный инструмент, который​ нажатие «сортировать» -​ вт, ср. ). При​ краям и переведет​ были разбросаны по​ И Й К​.​

Как сделать сортировку листа (таблицы, списка) в Excel

​ рядом с элементом​ курс).​и в контекстном​​ (пробел) ! «​​ конце списка.​Настраиваемый список​и нажмите кнопку​

  1. ​ импортированные из некоторых​ к большему.​ правильно, нажмите​ позволяет улучшать восприятие​ нечего не происходит.​
  2. ​ простой сортировке по​​ текст в число​​ всему файлу. А​ Л М Н​​Нажмите кнопку​Затем по​​Щелкните ячейку в одном​ меню выберите нужные​​ # $ %​Для каждого дополнительного столбца,​​.​ОК​ систем бухгалтерского учета,​Кроме этого Вы можете​​ОК​ информации, особенно при​​ Кто-то может тут​
  3. ​ данному столбцу Excel​Guest​ как дать Вам​

​ О П Р​ОК​и в контекстном​ из столбцов, которые​ условия.​ & ( )​ по которому нужно​Выберите список, по которому​.​ сохраняются как текст.​ отсортировать таблицу Excel​

Как сделать сортировку диапазона в Excel

​.​ больших объемах. В​ помочь?:)​ располагает элементы по-алфавиту​: Kaa, я вот​ пример? К сожалению​

  1. ​ С Т У​.​ меню выберите столбец,​ хотите отсортировать.​
  2. ​В той же строке​​ * , .​​ выполнить сортировку, нажмите​ нужно выполнить сортировку,​​В первой строке в​​Можно выполнять сортировку по​
  3. ​ по формату ячейки,​​Диапазон будет отсортирован по​​ данном уроке мы​Mike superb, demoderator​ (т.е. от А​ проверял вчера так.​ пыталась отправить файл,​ Ф Х Ц​Примечание:​​ по которому нужно​​На вкладке​
  4. ​ в разделе​ / : ;​ кнопку​ и нажмите кнопку​​ разделе​​ нескольким столбцам, добавляя​
  5. ​ а не по​ столбцу​​ научимся применять сортировку,​​: Не. Кто тут​
  6. ​ до Я):​ Не убирает концевые​​ но размер слишком​​ Ч Ш Щ​ Порядок сортировки настраиваемого списка​ выполнять сортировку.​Данные​Порядок​

​ ? @ [​Добавить уровень​ОК​Строка​ уровни условий сортировки.​ содержимому. Данная сортировка​Заказы​ узнаем основные команды,​ может помочь, если​А хотелось бы, конечно,​ пробелы. Пишет, что​ большой и пришлось​ Ь Ы Ъ​ применяется только к​

Пользовательская сортировка в Excel

​в разделе​щелкните элемент​ ] ^​.​.​щелкните пустое место​ Например, можно отсортировать​ особенно удобна, если​от меньшего в​ а также познакомимся​ диапазон сортировки не​ получить на выходе​ их нет. Умножение​ уменьшать​ Э Ю Я​

​ столбцу, указанному в​Сортировка​Сортировка и фильтр​От А до Я​ _ `

​Заполните поля в разделах​Примечание:​ рядом с элементом​ отчет о продажах​ Вы используете цветовую​

Создание пользовательской сортировки в Excel

​ большему. Обратите внимание,​ с типами сортировки​ выделен. ​ привычную последовательность с​ на 1 после​vikttur​ ИСТИНА ЛОЖЬ (ошибки​ разделе​щелкните элемент​щелкните стрелку рядом​и в контекстном​ + <> a​

  1. ​Столбец​ Порядок сортировки настраиваемого списка​Затем по​ по регионам, затем​ маркировку в определенных​
  2. ​ что остальное содержимое​​ в Excel.​​ingboss​​ января по декабрь​​ этого не переводит​
  3. ​: Вас просят файл-пример​​ листов) (пустые ячейки).​​Столбец​Значения​ с элементом​ меню выберите нужные​ b c d​,​ применяется только к​​и в контекстном​​ по дате, а​​ ячейках. В нашем​​ листа сортировке не​
  4. ​При добавлении данных в​​: День добрый.​​ или с понедельника​​ в числовой формат​​ в Excel​​Фильтрация списка данных​​. Для сортировки нескольких​
  5. ​и в контекстном​Сортировать​​ условия.​​ e f g​Сортировка​ столбцу, указанному в​ меню выберите строку,​ затем по продавцам.​ примере мы отсортируем​ подвергается.​ Excel очень важно​Возникла проблема с​​ по вторник. Такое​​Guest​
  6. ​Jagoda​​Jagoda​​ столбцов по дням​ меню выберите​и выберите пункт​Если в действии 5 вы​​ h i j​​,​ разделе​ по которой нужно​​ Каждый уровень сортировки​​ данные по цвету​
  7. ​Если сортировка в Excel​​ грамотно организовать информацию​​ Excel, которую уверен​​ можно легко реализовать​​: Kaa, я вот​​: не понимаю, что​​: Здравствуйте! Требуется отсортировать​ недели, месяцам или​
  8. ​Цвет ячейки​Настраиваемая сортировка​ выбрали​ k l m​Порядок​Столбец​

Сортировка в Excel по формату ячейки

​ сортировать список далее.​ представлен одной строкой​ ячейки, чтобы увидеть​ выполняется неправильно, то​ на рабочем листе.​ тут на сайте​ с помощью особой​ проверял вчера так.​ за файл пример?​ столбик «Цена цели»​ другому настраиваемому списку,​,​.​Цвет шрифта​ n o p​

  1. ​и​. Для сортировки нескольких​В той же строке​ в диалоговом окне​ по каким заказам​
  2. ​ в первую очередь​​ Одним из инструментов,​​ разжёвывали много раз.​​сортировки по пользовательскому списку​​ Не убирает концевые​
  3. ​ Объясните пожалуйста)​​ от А до​​ выполните действия из​Цвет шрифта​Нажмите кнопку​,​​ q r s​​Цвет/значок​ столбцов по дням​ в разделе​ «Сортировка».​ остались не взысканные​ проверьте верно ли​​ который позволяет сделать​​ Но найти я​ (custom list sorting)​
  4. ​ пробелы. Пишет, что​​vikttur​​ Я. Там должны​ раздела «Сортировка списка​или​Добавить уровень​
  5. ​Цвет ячейки​​ t u v​​для новой строки.​ недели, месяцам или​Сортировка​Щелкните ячейку в одном​ платежи.​ введены значения. Даже​ это, является сортировка.​

Сортировка списка данных

​. ​ их нет. Умножение​: Вы в первом​ появится числовые значения.​ по двум или​Цвет значка​.​или​ w x y​Важно:​ другому настраиваемому списку,​

​щелкните элемент​ из столбцов, которые​Выделите любую ячейку в​ небольшая опечатка может​ С помощью сортировки​ смог.​Выделите таблицу и нажмите​ на 1 после​ сообщении прикрепили картинку.​

​ Сначала он хорошо​​ трем столбцам» отдельно​

​.​Если таблица содержит строку​Значок ячейки​ z A B​ Будьте внимательны при использовании​ выполните действия из​Значения​ хотите отсортировать.​ таблице Excel, которому​ привести к проблемам​ Вы можете сформировать​В общем.. имеем​ большую кнопку​ этого не переводит​​ С ней нельзя​​ отсортировался, но файл​​ для каждого столбца.​​Повторите действия 3–5 для​​ заголовка, установите флажок​​, то в разделе​​ C D E​​ этой функции. Сортировка​

Читать еще:  Excel печать заголовка на каждой странице

​ раздела «Сортировка списка​и в контекстном​

Сортировка столбца

​На вкладке​ необходимо сортировать. В​ при сортировке больших​

​ список контактной информации​ таблицу, в первой​Сортировка​ в числовой формат​

​ работать, верно же?​​ я закрыла, не​​Анализ данных начинается с​​ каждого столбца, по​ ​В списке есть заголовки​​Цвет/значок​ ​ F G H​

Почему не сортируется список по алфавиту?

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

Например, список не сортируется или сортируется некорректно.

В этом случае необходимо проверить формат всех (или «проблемных») ячеек сортируемого столбца.

Формат должен быть одинаковым для всех его ячеек — Общий, Числовой или Текстовый.

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

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

Еще одной причиной может стать пробел в начале слова или числа. Особенно этот момент нужно проверить в случае импортирования данных из других программ.

12 наиболее распространённых проблем с Excel и способы их решения

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

Читатели Лайфхакера уже знакомы с Денисом Батьяновым, который делился с нами секретами Excel. Сегодня Денис расскажет о том, как избежать самых распространённых проблем с Excel, которые мы зачастую создаём себе самостоятельно.

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

Вы не даёте заголовки столбцам таблиц

Многие инструменты Excel, например: сортировка, фильтрация, умные таблицы, сводные таблицы, — подразумевают, что ваши данные содержат заголовки столбцов. В противном случае вы либо вообще не сможете ими воспользоваться, либо они отработают не совсем корректно. Всегда заботьтесь, чтобы ваши таблицы содержали заголовки столбцов.

Пустые столбцы и строки внутри ваших таблиц

Это сбивает с толку Excel. Встретив пустую строку или столбец внутри вашей таблицы, он начинает думать, что у вас 2 таблицы, а не одна. Вам придётся постоянно его поправлять. Также не стоит скрывать ненужные вам строки/столбцы внутри таблицы, лучше удалите их.

На одном листе располагается несколько таблиц

Если это не крошечные таблицы, содержащие справочники значений, то так делать не стоит.

Вам будет неудобно полноценно работать больше чем с одной таблицей на листе. Например, если одна таблица располагается слева, а вторая справа, то фильтрация одной таблицы будет влиять и на другую. Если таблицы расположены одна под другой, то невозможно воспользоваться закреплением областей, а также одну из таблиц придётся постоянно искать и производить лишние манипуляции, чтобы встать на неё табличным курсором. Оно вам надо?

Данные одного типа искусственно располагаются в разных столбцах

Очень часто пользователи, которые знают Excel достаточно поверхностно, отдают предпочтение такому формату таблицы:

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

Дело в том, что данный формат содержит 2 измерения: чтобы найти что-то в таблице, вы должны определиться со строкой, перебирая филиал, группу и агента. Когда вы найдёте нужную стоку, то потом придётся искать уже нужный столбец, так как их тут много. И эта «двухмерность» сильно усложняет работу с такой таблицей и для стандартных инструментов Excel — формул и сводных таблиц.

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

Если вы захотите применить стандартные формулы суммирования типа СУММЕСЛИ (SUMIF), СУММЕСЛИМН (SUMIFS), СУММПРОИЗВ (SUMPRODUCT), то также обнаружите, что они не смогут эффективно работать с такой компоновкой таблицы.

Рекомендуемый формат таблицы выглядит так:

Разнесение информации по разным листам книги «для удобства»

Ещё одна распространенная ошибка — это, имея какой-то стандартный формат таблицы и нуждаясь в аналитике на основе этих данных, разносить её по отдельным листам книги Excel. Например, часто создают отдельные листы на каждый месяц или год. В результате объём работы по анализу данных фактически умножается на число созданных листов. Не надо так делать. Накапливайте информацию на ОДНОМ листе.

Информация в комментариях

Часто пользователи добавляют важную информацию, которая может им понадобиться, в комментарий к ячейке. Имейте в виду, то, что находится в комментариях, вы можете только посмотреть (если найдёте). Вытащить это в ячейку затруднительно. Рекомендую лучше выделить отдельный столбец для комментариев.

Бардак с форматированием

Определённо не добавит вашей таблице ничего хорошего. Это выглядит отталкивающе для людей, которые пользуются вашими таблицами. В лучшем случае этому не придадут значения, в худшем — подумают, что вы не организованы и неряшливы в делах. Стремитесь к следующему:

  1. Каждая таблица должна иметь однородное форматирование. Пользуйтесь форматированием умных таблиц. Для сброса старого форматирования используйте стиль ячеек «Обычный».
  2. Не выделяйте цветом строку или столбец целиком. Выделите стилем конкретную ячейку или диапазон. Предусмотрите «легенду» вашего выделения. Если вы выделяете ячейки, чтобы в дальнейшем произвести с ними какие-то операции, то цвет не лучшее решение. Хоть сортировка по цвету и появилась в Excel 2007, а в 2010-м — фильтрация по цвету, но наличие отдельного столбца с чётким значением для последующей фильтрации/сортировки всё равно предпочтительнее. Цвет — вещь небезусловная. В сводную таблицу, например, вы его не затащите.
  3. Заведите привычку добавлять в ваши таблицы автоматические фильтры (Ctrl+Shift+L), закрепление областей. Таблицу желательно сортировать. Лично меня всегда приводило в бешенство, когда я получал каждую неделю от человека, ответственного за проект, таблицу, где не было фильтров и закрепления областей. Помните, что подобные «мелочи» запоминаются очень надолго.
Читать еще:  Анализ что если в excel

Объединение ячеек

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

Объединение текста и чисел в одной ячейке

Тягостное впечатление производит ячейка, содержащая число, дополненное сзади текстовой константой « РУБ.» или » USD», введенной вручную. Особенно, если это не печатная форма, а обычная таблица. Арифметические операции с такими ячейками естественно невозможны.

Числа в виде текста в ячейке

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

Если ваша таблица будет презентоваться через LCD проектор

Выбирайте максимально контрастные комбинации цвета и фона. Хорошо выглядит на проекторе тёмный фон и светлые буквы. Самое ужасное впечатление производит красный на чёрном и наоборот. Это сочетание крайне неконтрастно выглядит на проекторе — избегайте его.

Страничный режим листа в Excel

Это тот самый режим, при котором Excel показывает, как лист будет разбит на страницы при печати. Границы страниц выделяются голубым цветом. Не рекомендую постоянно работать в этом режиме, что многие делают, так как в процессе вывода данных на экран участвует драйвер принтера, а это в зависимости от многих причин (например, принтер сетевой и в данный момент недоступен) чревато подвисаниями процесса визуализации и пересчёта формул. Работайте в обычном режиме.

Ещё больше полезной информации про Excel можно узнать на сайте Дениса.

В excel не работает сортировка

Доброго времени суток!
Интересует вопрос: как в ситуации, когда имеется столбец с ячейками, объединенными в несколько штук по высоте, упорядочить эти группы по возрастанию их значений? Что подскажете? Например, есть мысль разбивать эти группы на ячейки, заполненные так же, и проводить сортировку. Но как это реализовать с помощью VBA?

Заранее признателен.
С уважением.

В качестве очень сырого тестового варианта

Sub Macros1()
Dim Temp(10) As String
n = Application.Selection.Count
Col = ActiveCell.Column
ActiveCell.Select
i = 0
For j = 1 To n
Flag = Selection.MergeCells
If Flag = True Then
Temp(i) = ActiveCell.Value
i = i + 1
Selection.UnMerge
ActiveCell.Select
Selection.Offset(1, 0).Select
End If
Selection.Offset(1, 0).Select
Next j

ActiveCell.EntireColumn.Select
Selection.Sort Key1:=Range(ActiveCell.Address), _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, Order1:=xlAscending

ActiveCell.Select
For j = 1 To n
For i = 0 To 10
If ActiveCell.Value = Temp(i) Then
Selection.Insert Shift:=xlDown
Range(ActiveCell.Address, Selection.Offset(1, 0)).Select
Selection.Merge
End If
If Temp(i) = «» Then Exit For
Next i
Selection.Offset(1, 0).Select
Next j

Работает не более чем для 10 объединенных ячеек (за это отвечает массив Temp, можешь расширить).
Проблемы будут если в ячейках в одной объединненой и простой одинаковое значение.
В конце добовляет пустые объединенные ячеки (пока не отладил)

Как работать
1. Вставляешь макрос в «модуль» в ВБА
2. В экселе выделяешь область для сортировки (по столбцу)
3. Запускаешь макрос

Пробуй, напиши про проблемы отлажу, ну а для начала все таки

Добавление от 02.06.2005 20:10:

Принцип работы
В выделенной области ищутся объдиненные ячейки
их значения запоминаются в массив
ячеки разбиваются
Производим сортировку как обычно
Далее проверяем значения в ячейках если оно как в массиве то добовляем ячеку и объединяем

(вот кстати еще одно ограничение добовляю то я одну ячейку на объединение, а если в исходнике было объединено больше, надо подумать т.е ввести еще данные сколько ячеек было объединено)
Может у тебя одинаковое колическтво ячеек сливается в одну для всех тогда , иначе будет

Посмотрел файл
тебе надо сортировать по фамилиям в столбце С, но так чтобы данные всей строки т.е. столбцы с D по L тоже перемистились, т.е. надо сортировать строки по данным в столбце С. Правильно я понял?

Это усложняет задачу.
Поэтому план такой:
1. создаем массив трех мерный (динамический?) по числу выделенных ячеек в столбце С
2. заносим в него данные из ячеек столбца С первое значение, второе это номер строки, третье число объединненых ячеек
3. сортируем массив по первому значению
4. создаем новый лист экселя
5. перебрасываем данные с учетом сортировки и ссылок 2 и 3 значения на данные строк

Так устроит?
т.е. придется создать новый лист на который перебрасываются данные

П.С. Да, скажи максимальное число заемщиков сколько (может просто задать фиксированный массив).
Начну сегодня, но доделаю наверно на выходных, с временем напряг. Несильно собью твои планы?

Выкладываю код для сортировки объединненых ячеек.
Написан под конкретную задачу malaxovа, но если потребуется можно унифицировать
(Для одного столбца код приведен раньше)

В ВБА добавте модуль и в него скопируйте код

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


Sub sortirovka(Temp As Variant) ‘процедура сортировки по возрастанию
flag = 0 ‘обнуляем флаг
Do While flag = 0 ‘выполнять цикл пока flag=0
flag = 1
For i = 1 To UBound(Temp) — 1 ‘цикл до предпоследнего элемнта массива, он используется для перестановки
If Temp(i, 1) > Temp(i + 1, 1) Then
‘ перестановка элементов массива
Temp(UBound(Temp), 1) = Temp(i, 1)
Temp(UBound(Temp), 2) = Temp(i, 2)
Temp(UBound(Temp), 3) = Temp(i, 3)
Temp(i, 1) = Temp(i + 1, 1)
Temp(i, 2) = Temp(i + 1, 2)
Temp(i, 3) = Temp(i + 1, 3)
Temp(i + 1, 1) = Temp(UBound(Temp), 1)
Temp(i + 1, 2) = Temp(UBound(Temp), 2)
Temp(i + 1, 3) = Temp(UBound(Temp), 3)
flag = 0
End If
Next i
Loop
End Sub

Sub nomer(A As String) ‘процедура перенумерации ячеек в столбце попорядку
Range(A).Select ‘выбор начальной ячейки
i = 1
Do Until ActiveCell.Value = «» ‘цикл для нумерации
ActiveCell.Value = i ‘заносим значение в ячейку
i = i + 1 ‘увеличиваем индекс
Selection.Offset(1, 0).Select ‘опускаемся вниз на ячейку
Loop
End Sub

Читать еще:  Перенос в ячейке excel

Adr = ActiveCell.Address ‘адрес активной ячейки
Dim Temp ‘задаем динамический трехмерный глобальный смешанный массив )

With Application ‘запрещаем пересчет и обновление экрана
calc_status = .Calculation
.Calculation = xlManual
.ScreenUpdating = False

Page = ActiveSheet.Name ‘определяем название исходного листа
Set NewSheet = Worksheets.Add ‘создаем новый лист, куда будут перенесены отсортированные данные
NewSheet.Name = «Sort»
Sheets(Page).Activate ‘встаем на исходный лист

‘переносим заголовки столбцов используется только для данного случая
Range(«1:1»).Select
Selection.Copy ‘копируем в буфер
Sheets(«Sort»).Select
Range(«A1»).Select
ActiveSheet.Paste
Sheets(Page).Activate ‘встаем на исходный лист

‘считаем число заполненных ячеек в столбце
Range(Adr).Select ‘встаем на первую ячейку
Do Until ActiveCell.Value = «» ‘цикл на выполнение пока не встретим пустую ячейку
i = i + 1
Selection.Offset(1, 0).Select ‘переход на одну ячейку вниз
Loop

ReDim Temp(1 To i + 1, 1 To 3) ‘переопределяем массив

Range(Adr).Select
i = 0 ‘задаем счетчик
‘ заполняем массив
Do Until ActiveCell.Value = «» ‘цикл на выполнение пока не встретим пустую ячейку
i = i + 1 ‘шаг
Temp(i, 1) = ActiveCell.Value ‘заносим строковые данные
Temp(i, 2) = Selection.Count ‘заносим число объединенных ячеек
Temp(i, 3) = ActiveCell.Row ‘заносим позицию строки
Selection.Offset(1, 0).Select ‘переход на одну ячейку вниз
Loop

Call sortirovka(Temp) ‘вызов сортировки

‘цикл переноса строк в отсортированном виде на новый лист
For i = 1 To UBound(Temp) — 1 ‘цикл по числу на единицу меньше чем элементов массива
Rup = LTrim(Str(Temp(i, 3))) ‘определяем верхнюю границу строк для выделения диапазона
Rdown = LTrim(Str(Temp(i, 2) + Temp(i, 3) — 1)) ‘теперь нижнюю
Rows(Rup + «:» + Rdown).Select ‘выделяем область
Selection.Copy ‘копируем в буфер
Sheets(«Sort»).Select ‘переходим на лист 2
If i > 1 Then n = n + Temp(i — 1, 2) Else n = 2 ‘определяем верхнюю грнаницу для вставки
Rup = LTrim(Str(n)) ‘границы диапазона для вставки
Rdown = LTrim(Str(n — 1 + Temp(i, 2)))
Rows(Rup + «:» + Rdown).Select ‘выделение
ActiveSheet.Paste ‘вставка
Sheets(Page).Select ‘возврат на лист 1 за следующими данными
Next i

Sheets(«Sort»).Select ‘активируем лист 2

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

Call nomer(«B2»)
Call nomer(«A2»)

.Calculation = calc_status ‘включаем пересчет и отрисовку экрана
.ScreenUpdating = True
End With

Имеются некоторые нюнсы которые надо учитвать:
1. В рабочей книге не должно быть листа «Sort»
2. Алгоритм сортировки не является быстрым поэтому при большом числе данных может существенно тормознуть. (Постараюсь переделать на qicksort и выложить)
3. Используется динамический массив, для более оптимального распределения памяти
4. Макрос обкатывался на файле предложенном malaxov
5. Перенесенные сортированные значения начинаются со второй строки (за это отвечает параметр n после else)
6. Из исходного листа копируется строка с заголовками столбцов (предпологается что она занимает одну строку, за это отвечает Range(«1:1»).Select)
7. Происоходит перенумерация двух первых столбцов по порядку (если не нужно надо заблокировать вызов процедуры nomer)

ВНИМАНИЕ обязательно перед использованием встать на первую ячейку столбца для сортировки иначе макрос сработает неправильно. (для данного примера это С2)

malaxov
Если надо давай почту вышлю

Сортировка данных в Excel

Если данные текстовые, их можно отсортировать по алфавиту («от А до Я» или «от Я до А»). Если данные числовые, их можно отсортировать в порядке возрастания или убывания. Если в диапазоне данных есть строка или столбец, в которых содержатся данные типа время или дата, их можно отсортировать в прямом или обратном хронологическом порядке. Имеется также возможность сортировки предварительно отформатированных данных по элементам этого форматирования.

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

Сортировка по одному критерию

  1. В столбце, по которому должна быть выполнена сортировка, нужно выделить любую ячейку (весь столбец выделять не надо).
  2. На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter].

  1. Выбрать нужную кнопку: сортировка по возрастанию или сортировка по убыванию.

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

Существует и другой удобный способ сортировки данных: щелкнув правой кнопкой мыши по ячейке столбца, по которому будет выполняться сортировка, в контекстном меню выбрать пункт Сортировка [Sort], а далее – требуемый вариант сортировки.

Многоуровневая сортировка

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

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

  1. На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter] и на ней выбрать команду Сортировка [Sort].
  2. Последовательно задать уровни сортировки (определяемые именем столбца).

Нажимая на стрелку возле трех полей (Столбец, Сортировка, Порядок) необходимо выбрать:

  1. Имя столбца для сортировки.
  2. Тип критерия (в зависимости от того, будет ли вестись сортировка по значениям данных в столбце, или по оформлению ячейки, или по значку ячейки).
  3. Порядок сортировки (по убыванию или по возрастанию).

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

Сортировка по форматированию

Часто для анализа данных делается заливка ячеек (или шрифта) цветом. С помощью сортировки можно также упорядочивать данные на основе их форматирования.

Пошаговый порядок действий:

  1. Щелкнуть по любой ячейки из столбца, по которому будет выполняться сортировка.
  2. На вкладке Данные [Data] выбрать группу Сортировка и фильтр [Sort&Filter], а затем выбрать команду Сортировка [Sort].
  3. В поле Столбец [Column] укажите столбец по которому будет проводиться сортировка.
  4. В поле Сортировка [Sort On] из всплывающего меню выбрать критерий сортировки: цвет ячейки, цвет шрифта или значок ячейки.
  5. Поле Порядок [Order] содержит два выпадающих списка. В первом нужно выбрать тип критерия, а во втором – размещение ячеек, отсортированных по данному критерию (строку Сверху [On Top] или Снизу [On Bottom]).
  6. При необходимости добавить еще один критерий сортировки, в окне Сортировка нужно выбрать кнопку Добавить уровень.

Можно также воспользоваться командой «Копировать уровень» [Copy Level], заменив в поле «Порядок» прежнее значение на новое.

  1. После выбора сортировки нажать кнопку ОК.
Ссылка на основную публикацию