Как отсортировать от большего к меньшему в excel

Vba excel. сортировка таблицы (диапазона)

НОУ ИНТУИТ | Лекция | Сводные таблицы

  • использование списка (базы данных Excel );
  • использование внешнего источника данных;
  • использование нескольких диапазонов консолидации;
  • использование данных из другой сводной таблицы.

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

Функция Результат
Отличие Значения ячеек области данных отображаются в виде разности с заданным элементом, указанным в списках, поле и элемент
Доля Значения ячеек области данных отображаются в процентах к заданному элементу, указанному в списках поле и элементам.
Приведенное отличие Значения ячеек области данных отображаются в виде разности с заданным элементом, указанным в стеках поле и элемент, нормированной к значению этого элемента
С нарастающим итогом в поле Значения ячеек области данных отображаются в виде нарастающего итога для последовательных элементов. Следует выбрать поле, элементы которого будут отображаться в нарастающем итоге
Доля от суммы по строке Значения ячеек области данных отображаются в Процентах от итога строки
Доля от суммы по столбцу Значения ячеек области данных отображаются в Процентах от итога столбца
Доля от общей суммы Значения ячеек области данных отображаются в процентах от общего итога сводной таблицы
Индекс При определении значений ячеек области данных используется следующий алгоритм: ((Значение в ячейке) * (Общий итог))/((Итог строки) *(Итог столбца)

5 шагов

Внимательно вглядитесь в журнал учёта продаж цветов.

3 из них содержат текстовую информацию: точка, имя продавца, тип цветов

1 столбец содержит числа — стоимость проданных цветов

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

Шаг 1 . Скроем столбцы A:D , оставим только столбец E — Стоимость . В ячейку E1002 введём формулу суммы, а строки 2:1001 скроем. Получится вот это:

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

Шаг 3 . А кто у нас передовик капиталистического труда? А вот кто:

Шаг 4 . А какие цветы приносят больше денег? Посмотрим:

Шаг 5 . А в каком месяце максимальные продажи? Странная картина, ну да ладно.

Утомительно, не правда ли? И заметьте, что действия ТИПОВЫЕ ! Так вот, для того, чтобы НИКОГДА БОЛЬШЕ не заниматься этими пятью позорными шагами, существуют сводные таблицы.

Создание сводной таблицы вручную

Иногда ни одна из сводных таблиц, предлагаемых инструментами быстрого анализа или кнопкой Рекомендуемые таблицы, не подходит. В подобных случаях можно либо выбрать готовый образец сводной таблицы, макет которого наиболее близок к требуемой вам сводной таблице, либо создать нужную таблицу “с нуля”. Создать сводную таблицу вручную не так уж и трудно, как может показаться на первый взгляд.

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

На экране появится диалоговое окно создания сводной таблицы, и будут выделены все данные в списке, в котором находится курсор ячейки (вокруг списка появится мерцающая пунктирная рамка). Можете откорректировать этот диапазон в текстовом поле Таблица или диапазон, если рамка не включает какие-либо данные, которые следует консолидировать. По умолчанию Excel создает сводную таблицу на новом рабочем листе, добавляемом в книгу. Если хотите, чтобы сводная таблица была создана на том же листе, где находятся исходные данные, щелкните на кнопке На существующий лист, а затем в поле Диапазон укажите ячейки, в которых будет находиться сводная таблица. (Проверьте, не будет ли перекрывать создаваемая сводная таблица данные, уже существующие на рабочем листе.)

Если источник данных сводной таблицы представляет собой внешнюю базу данных, созданную в другой программе, такой как Access, установите переключатель Использовать внешний источник данных. Потом щелкните на кнопке Выбрать подключение, а затем в открывшемся диалоговом окне выберите требуемое подключение. Кроме того, Excel поддерживает анализ данных для нескольких связанных таблиц листа (так называемая “модель данных”). Если данные новой сводной таблицы будут анализироваться наряду с данными существующей сводной таблицы, то установите флажок Добавить эти данные в модель данных.

После того как будет определен источник данных и указано место расположения сводной таблицы, щелкните на кнопке ОК, и программа добавит пустую сетку для новой таблицы, а также откроет в правой части области рабочего листа панель Список полей сводной таблицы. Эта панель разделена на две части. Вверху находится список полей источника данных, которые можно добавить в сводную таблицу, а внизу — область, разделенная на четыре зоны: ФИЛЬТРЫ, СТРОКИ, СТОЛБЦЫ и ЗНАЧЕНИЯ.

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

  • ФИЛЬТРЫ. Здесь содержатся поля, позволяющие фильтровать данные таблицы. Так, например, если перетащить сюда поле года, то можно будет отображать в таблице сводные данные для каждого конкретного года, представленного в списке данных.
  • СТОЛБЦЫ. Здесь содержатся поля, определяющие данные, которые отображаются в столбцах сводной таблицы.
  • СТРОКИ. Здесь находятся поля, определяющие данные, которые отображаются в строках сводной таблицы.
  • ЗНАЧЕНИЯ. Здесь содержатся поля, определяющие, какие данные будут отображаться в ячейках таблицы, т.е. значения, консолидируемые в последнем столбце (по умолчанию суммируемые).

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

В этой сводной таблице в качестве фильтра из списка данных было выбрано поле Дата. Поле Категория я назначил меткам строк. В качестве значений были выбраны поля Расход и Доход.

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

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

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

Произвольная группировка в сводной таблице

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

Опять немного видоизменим нашу сводную таблицу и в этот раз в поля добавим наименование в текстовом виде:

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

Например, давайте объединим наименование по компьютерной тематике, в одну группу поместим компьютеры, мониторы, ноутбуки и процессоры. Выделяем мышкой подходящие ячейки, также щелкаем по ним правой кнопкой мыши и выбираем команду Группировать:

Новой группе мы можем дать имя, для этого достаточно непосредственно в ячейке прописать новое название. Если нужно сделать группировку для остальных элементов, то принцип действия точно такой же — выделяем подходящие ячейки и группируем:

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

Сортировка всего рабочего листа по дате в Excel

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

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

Убедитесь, что установлен флажок «Развернуть выделение», и нажмите кнопку «Сортировка». Excel отсортирует все данные в таблице в выбранном вами порядке.

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

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

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

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

  1. Щелкнуть по любой ячейки из столбца, по которому будет выполняться сортировка.
  2. На вкладке Данные выбрать группу Сортировка и фильтр , а затем выбрать команду Сортировка .
  3. В поле Столбец укажите столбец по которому будет проводиться сортировка.
  4. В поле Сортировка из всплывающего меню выбрать критерий сортировки: цвет ячейки, цвет шрифта или значок ячейки.
  5. Поле Порядок содержит два выпадающих списка. В первом нужно выбрать тип критерия, а во втором — размещение ячеек, отсортированных по данному критерию (строку Сверху или Снизу ).
  6. При необходимости добавить еще один критерий сортировки, в окне Сортировка нужно выбрать кнопку Добавить уровень.

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

СЦЕПИТЬ

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

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

Вариант 1: Быстрая сортировка в Excel

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

  1. Выделите зажатой левой кнопкой мыши столбец с данными и вызовите меню «Редактирование».

  2. Откройте список «Сортировка и фильтр» и выберите подходящий для вас вариант упорядочения. С числами это по возрастанию или убыванию, а для текста – по алфавиту и в обратную сторону.

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

  4. Изменения вступают в силу сразу же. Нажмите Ctrl + Z для отмены действия, если что-то выполнено неправильно.

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Способ 3: Формула для динамической сортировки

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

  1. Активируйте первую ячейку для формулы и введите =НАИМЕНЬШИЙ. Это основная функция, которая автоматически и рассчитает необходимые значения.

В скобках введите выражение (A:A;СТРОКА(A1)), где буквы столбца замените на сортируемый, а в качестве A1 используйте первое число.

Растяните эту формулу до конца таблицы, чтобы в каждой ячейке отображалось соответствующее число.

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

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Как получить последние 5 цифр в Excel?

Блог

  1. Введите данные, последние цифры которых вы хотите обрезать.
  2. Найдите ячейку, в которой вы хотите отобразить результат. Щелкните внутри ячейки.
  3. Следующим шагом будет ввод формулы =ЛЕВО(A1, ДЛСТР(A1)-1) в выходную ячейку.
  4. Нажмите клавишу ввода, и ваш результат появится сразу.

Как вы маскируете социальные сети в Excel?

Чтобы скрыть столбец, содержащий полные номера социального страхования, выделите столбец, нажмите «Формат», «Столбец», «Скрыть» . Теперь последний шаг — защитить лист паролем, чтобы формула была скрыта и защищена, а полные номера социального страхования были скрыты.

Как вы маскируете первые 4 цифры в Excel?

Создание сводной таблицы в Excel

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

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

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

Обычно ничего менять здесь не нужно. После нажатия Ок будет создан новый лист Excel с пустым макетом сводной таблицы.

Макет таблицы настраивается в панели Поля сводной таблицы, которая находится в правой части листа.

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

Сводная таблица состоит из 4-х областей, которые находятся в нижней части панели: значения, строки, столбцы, фильтры. Рассмотрим подробней их назначение.

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

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

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

Область строк – названия строк, которые расположены в крайнем левом столбце. Это все уникальные значения выбранного поля (столбца). В области строк может быть несколько полей, тогда таблица получается многоуровневой. Здесь обычно размещают качественные переменные типа названий продуктов, месяцев, регионов и т.д.

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

Область фильтра – используется, как ясно из названия, для фильтрации. Например, в самом отчете показаны продукты по регионам. Нужно ограничить сводную таблицу какой-то отраслью, определенным периодом или менеджером. Тогда в область фильтров помещают поле фильтрации и там уже в раскрывающемся списке выбирают нужное значение.

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

Посмотрим, как это работает в действии. Создадим пока такую же таблицу, как уже была создана с помощью функции СУММЕСЛИМН. Для этого перетащим в область Значения поле «Выручка», в область Строки перетащим поле «Область» (регион продаж), в Столбцы – «Товар».

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

На ее построение потребовалось буквально 5-10 секунд.

PROИТ

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

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

Дано: таблица в формате Excel (в примере используется версия 2016) с несколькими столбцами. Задача: отобразить только некоторые столбцы из таблицы , а также поменять столбцы местами.

Решений может быть несколько, например, просто скрыть ненужные столбцы или при помощи функций «вырезать / вставить» переместить колонки, изменяя непосредственно саму таблицу, либо скопировать нужные колонки на другой лист (при этом теряя связь с обновлённой таблицей).

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

Вот видео-пример, показывающий, как это сделать:

Описание способа Создаем сводную таблицу: ВставкаСводная таблица:

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

Что такое сводная таблица?

Это инструмент для изучения и обобщения больших объемов данных, анализа связанных итогов и представления отчетов. Они помогут вам:

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

Например, у вас множество записей в электронной таблице с цифрами продаж шоколада:

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

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

Вот посмотрите сами.

Этот скриншот демонстрирует лишь несколько из множества возможных вариантов анализа продаж. И далее мы рассмотрим примеры построения сводных таблиц в Excel 2016, 2013, 2010 и 2007.

Способ 3: Формула сортировки

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

Шаг 1: Создание вспомогательной формулы

Основная задача – создать вспомогательную формулу, которая анализирует слова в ячейках и определяет их порядковый номер в будущем отсортированном по алфавиту списке. Это происходит при сравнении встроенными алгоритмами Excel, работающими по принципу анализа кодировки. Детально разбирать работу этой формулы не будем, только покажем ее создание.

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

Теперь диапазон выделенных ячеек имеет собственное имя, отвечающее за его содержимое, — в нашем случае это фрукты. Если вводите несколько слов в названии, не ставьте пробел, а используйте вместо него нижнее подчеркивание: «(пример_текста)».

В новой клетке создадим формулу СЧЁТЕСЛИ, которая считает ячейки, удовлетворяющие условие. В качестве диапазона указывайте созданную только что группу, затем первую ячейку для сравнения. В итоге первоначальный вид формулы таков: =СЧЁТЕСЛИ(Фрукты;A1).

Сейчас результатом этой формулы будет «1», поскольку ее запись не совсем верна для будущих расчетов, поэтому добавьте выражение ” перед номером первой ячейки.

Растяните формулу, зажав край ячейки, до конца будущего списка для сортировки.

Переименуйте диапазон с числами в группу – это понадобится при составлении следующей формулы.

Шаг 2: Создание формулы сортировки

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

  1. В новой ячейке начните вводить =ПОИСКПОЗ(СТРОКА(A1). Эта формула отвечает за поиск позиции строки, из-за чего и следует указать аргумент “A1”.

Далее для простоты добавления именных диапазонов перейдите в “Формулы”, разверните меню “Определенные имена” и выберите “Использовать в формуле”.

Добавьте диапазон со вспомогательной формулой и укажите для него тип сопоставления “Точное совпадение” в выпадающем списке, который появится после добавления “;”.

Завершите создание формулы, обернув ее в функцию ИНДЕКС, которая будет работать с массивом названий.

Проверьте результат и затем растяните формулу так, как это уже было показано выше.

Теперь вы получите корректно работающий динамический список, отсортированный по алфавиту.

Для упрощения понимания отдельно предоставляем полную формулу:

=(ИНДЕКС(Фрукты;ПОИСКПОЗ(СТРОКА(A1);номер_слова;0))), вам же останется только отредактировать ее под свои цели и растянуть на необходимый диапазон ячеек.

Шаг 3: Модернизации формулы для повторных названий

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

  1. Откройте вспомогательную формулу и уберите знак “, чтобы СЧЁТЕСЛИ работал только при условии равенства.

Добавьте вторую часть – +СЧЁТЕСЛИ($A$1:A1;A1), позволяющую нормально записывать одинаковые слова в последовательном порядке.

Снова растяните формулу, чтобы она изменилась на всех ячейках.

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

Мы рады, что смогли помочь Вам в решении проблемы.

Опишите, что у вас не получилось.

Наши специалисты постараются ответить максимально быстро.

Сортировка данных с помощью двойного щелчка по заголовку

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

Что-то вроде того, что показано ниже:

Ниже приведен код, который позволит вам это сделать:

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) Dim KeyRange As Range Dim ColumnCount As Integer ColumnCount = Range ("DataRange"). Columns.Count Cancel = False If Target.Row = 1 And Target.Column <= ColumnCount Then Cancel = True Установить KeyRange = Range (Target.Address) Range ("DataRange"). Sort Key1: = KeyRange, Header: = xlYes End If End Sub

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

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

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

Куда поставить этот код?

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

Сделать это:

  • Щелкните правой кнопкой мыши вкладку листа.
  • Щелкните Просмотреть код.
  • Вставьте код в окно кода листа, на котором находятся ваши данные.

А что, если вы хотите отсортировать первые два столбца («Штат» и «Магазин») в порядке возрастания, а столбец «Продажи» — в порядке убывания.

Вот код, который это сделает:

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) Dim KeyRange As Range Dim ColumnCount As Integer ColumnCount = Range ("DataRange"). Columns.Count Cancel = False If Target.Row = 1 And Target.Column <= ColumnCount Then Cancel = True Установить KeyRange = Range (Target.Address) Если Target.Value = "Sales" Тогда SortOrder = xlDescending Else SortOrder = xlAscending End If Range ("DataRange"). Sort Key1: = KeyRange, Header: = xlYes, Order1: = SortOrder End If End Sub

В приведенном выше коде он проверяет, является ли ячейка, по которой дважды щелкнули, заголовком Продажи или нет. Если да, то он присваивает значение xlDescending переменной SortOrder, иначе делает его xlAscending.

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

Что-то вроде того, что показано ниже:

Чтобы получить это, я добавил новый рабочий лист и внес в него следующие изменения (вы можете загрузить файл примера и следить за ним):

  • Изменил имя нового листа на «BackEnd».
  • В ячейке B2 введите символ стрелки (для этого перейдите во вкладку «Вставить» и выберите параметр «Символ»).
  • Скопируйте и вставьте заголовки из набора данных в ячейку A3: C3 на листе «Backend».
  • Используйте следующую функцию в ячейке A4: AC4:
    = ЕСЛИ (A3 = $ C $ 1, A3 & "" & $ B $ 1, A3)
  • Остальные ячейки будут автоматически заполнены кодом VBA, если вы дважды щелкните заголовки, чтобы отсортировать столбец.

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

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

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

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) Dim KeyRange As Range Dim ColumnCount As Integer ColumnCount = Range ("DataRange"). Columns.Count Cancel = False If Target.Row = 1 And Target.Column <= ColumnCount Then Отмена = True Worksheets ("Backend"). Range ("C1") = Target.Value Set KeyRange = Range (Target.Address) Range ("DataRange"). Sort Key1: = KeyRange, Header: = xlYes Worksheets ("BackEnd ") .Range (" A1 ") = Target.Column For i = 1 To ColumnCount Range (" DataRange "). Cells (1, i) .Value = Worksheets (" Backend "). Range (" A4 "). Offset (0, i - 1). Value Next i End If End Sub

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

Загрузите файл примера

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: