Excel сортировка ячеек с формулами

Сортировка формулой

Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (Data — Sort). Бывают, однако, ситуации, когда сортировку списка нужно делать автоматически, т.е. формулами. Такое может потребоваться, например, при формировании данных для выпадающего списка, при вычислении данных для диаграмм и т.д. Как же «на лету» сортировать список формулой?

Способ 1. Числовые данные

Если список содержит только числовую информацию, то его сортировку можно легко сделать с помощью функций НАИМЕНЬШИЙ (SMALL) и СТРОКА (ROW):

sort_by_formulas1.gif

Функция НАИМЕНЬШИЙ (SMALL) выдергивает из массива (столбец А) n-й по счету наименьший элемент. Т.е. НАИМЕНЬШИЙ(A:A;1) — это самое маленькое число из столбца, НАИМЕНЬШИЙ(А:А;2) — второе по счету наименьшее и т.д.

Функция СТРОКА (ROW) выдает порядковый номер строки для указанной ячейки, т.е. СТРОКА(А1)=1, СТРОКА(A2)=2  и т.д. В данном случае она используется просто как генератор последовательности чисел n=1,2,3… для нашего отсортированного списка. С тем же успехом можно было сделать дополнительный столбец, заполнить его вручную числовой последовательностью 1,2,3… и ссылаться на него вместо функции СТРОКА.

Способ 2. Текстовый список и обычные формулы

Если в списке не числа, а текст, то функция НАИМЕНЬШИЙ (SMALL) уже не сработает, поэтому придется пойти другим, чуть более длинным, путем.

Сначала добавим служебный столбец с формулой, где будет вычисляться порядковый номер каждого имени в будущем отсортированном списке с помощью функции СЧЁТЕСЛИ (COUNTIF):

sort_by_formulas2.gif

В английской версии это будет:

=COUNTIF(A:A,»<«&A1)+COUNTIF($A$1:A1,»=»&A1)

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

Теперь полученные номера надо расставить последовательно по возрастанию. Для этого можно использовать функцию НАИМЕНЬШИЙ (SMALL) из первого способа:

sort_by_formulas3.gif

Ну, и наконец, осталось просто вытащить из списка имена по их номерам.  Для этого можно использовать такую формулу:

sort_by_formulas4.gif

Функция ПОИСКПОЗ (MATCH) ищет в столбце В нужный порядковый номер (1, 2, 3 и т.д.) и выдает, по сути, номер строки, где находится это число. Функция ИНДЕКС (INDEX) вытаскивает из столбца А имя по этому номеру строки.

Способ 3. Формула массива

Этот способ представляет собой, по сути, тот же алгоритм расстановки, что и в Cпособе-2, но реализованный формулой массива. Для упрощения формулы диапазону ячеек С1:С10 было дано имя List (выделить ячейки, нажать Ctrl+F3 и кнопку Создать):

sort_by_formulas5.gif

В ячейку Е1 копируем нашу формулу:

=ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; «<«&List); СТРОКА(1:1)); СЧЁТЕСЛИ(List; «<«&List); 0))

Или в англоязычной версии:

=INDEX(List, MATCH(SMALL(COUNTIF(List, «<«&List), ROW(1:1)), COUNTIF(List, «<«&List), 0))

и нажимаем Ctrl+Shift+Enter, чтобы ввести ее как формулу массива. Потом полученную формулу можно скопировать вниз на всю длину списка.

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

Во-первых, диапазон List нужно будет задать динамически. Для этого при создании нужно указать не фиксированный диапазон C3:C10, а специальную формулу, которая будет ссылаться на все имеющиеся значения независимо от их количества. Нажмите Alt+F3 или откройте вкладку Формулы — Диспетчер имен (Formulas — Name Manager), создайте новое имя и в поле Ссылка (Reference) впишите вот такую формулу (я предполагаю, что диапазон сортируемых данных начинается с ячейки C1):

=СМЕЩ(C1;0;0;СЧЁТЗ(C1:C1000);1)

=OFFSET(C1,0,0,СЧЁТЗ(C1:C1000),1)

Во-вторых, вышеописанную формулу массива нужно будет протянуть вниз с запасом — с расчетом на вводимые в будущем дополнительные данные. При этом формула массива начнет выдавать ошибку #ЧИСЛО на незаполненных пока ячейках. Чтобы ее перехватить, можно использовать функцию ЕСЛИОШИБКА, которую нужно дописать «вокруг» нашей формулы массива:

=ЕСЛИОШИБКА(ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; «<«&List); СТРОКА(1:1)); СЧЁТЕСЛИ(List; «<«&List); 0));»»)

=IFERROR(NDEX(List, MATCH(SMALL(COUNTIF(List, «<«&List), ROW(1:1)), COUNTIF(List, «<«&List), 0));»»)

Она перехватывает ошибку #ЧИСЛО и выводит вместо нее пустоту (пустые кавычки).

Ссылки по теме:

  • Сортировка диапазона по цвету
  • Что такое формулы массива и зачем они нужны
  • Сортировка функцией СОРТ и динамические массивы в новом Office 365


Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.

Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый:

Список фруктов

; а второй — числовой

Объем Продаж

(см.

файл примера

).

Задача1 (Сортировка таблицы по числовому столбцу)

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

Для наглядности величины значений в столбце

Объем Продаж

выделены с помощью

Условного форматирования

(

). Также желтым выделены повторяющиеся значения.


Примечание

: Задача сортировки отдельного столбца (списка) решена в статьях

Сортированный список (ТЕКСТовые значения)

и

Сортированный список (ЧИСЛОвые значения)

.

Решение1

Если числовой столбец гарантировано не содержит

повторяющихся

значений, то задача решается легко:

  • Числовой столбец отсортировать функцией

    НАИБОЛЬШИЙ()

    (см. статью

    Сортированный список (ЧИСЛОвые значения)

    );

  • Функцией

    ВПР()

    или связкой функций

    ИНДЕКС()+ПОИСКПОЗ()

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

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

ВПР()

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

Функция ВПР() в MS EXCEL

), то этот подход не годится (названия Фруктов будут выведены неправильно).

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

Создадим для удобства 2

Динамических диапазона

Фрукты

и

Продажи

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

В столбцах

D

и

E

разместим таблицу, которая будет динамически сортироваться,

В ячейке

Е7

запишем зубодробительную

формулу массива

:

=ИНДЕКС(Продажи; ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ( —(СЧЁТЕСЛИ(Продажи;»<«&Продажи)&»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6)); СТРОКА()-СТРОКА($E$6));1)*1000;0) )

Данная формула сортирует столбец

Объем продаж

(динамический диапазон

Продажи

) по убыванию. Пропуски в исходной таблице не допускаются. Количество строк в исходной таблице должно быть меньше 1000.

Разберем формулу подробнее:

  • Формула

    СЧЁТЕСЛИ(Продажи;»<«&Продажи)

    возвращает массив {4:5:0:2:7:1:3:5}. Это означает, что число 64 (из ячейки

    B7

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

    Продажи

    ) больше 4-х значений из того же диапазона; число 74 (из ячейки

    B8

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

    Продажи

    ) больше 5-и значений из того же диапазона; следующее число 23 — самое маленькое (оно никого не больше) и т.д.
  • Теперь вышеуказанный массив целых чисел превратим в массив чисел с дробной частью, где в качестве дробной части будет содержаться номер позиции числа в массиве: {4,001:5,002:0,003:2,004:7,005:1,006:3,007:5,008}. Это реализовано выражением

    &»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6))

    Именно в этой части формулы заложено ограничение о не более 1000 строк в исходной таблице (см. выше). При желании его можно легко изменить, но это бессмысленно (см. ниже раздел о скорости вычислений).
  • Функция

    НАИБОЛЬШИЙ()

    сортирует вышеуказанный массив.
  • Функция

    ОСТАТ()

    возвращает дробную часть числа, представляющую собой номера позиций/1000, например 0,005.
  • Функция

    ОКРУГЛ()

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

    Объемы продаж,

    отсортированных по убыванию.
  • Функция

    ИНДЕКС()

    по номеру позиции возвращает соответствующее ему число.

Аналогичную формулу можно написать для вывода значений в столбец

Фрукты

=ИНДЕКС(Фрукты;ОКРУГЛ(…))

В

файле примера

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

ОКРУГЛ()

, вынесена в отдельный столбец

J

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

=ИНДЕКС(Фрукты;J7)

и

=ИНДЕКС(Продажи;J7)

Также, изменив в формуле массива функцию

НАИБОЛЬШИЙ()

на

НАИМЕНЬШИЙ()

получим сортировку по возрастанию.

Для наглядности, величины значений в столбце

Объем Продаж

выделены с помощью

Условного форматирования

(

). Как видно, сортировка работает.

Тестируем

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

1. В ячейку

А15

исходной таблицы введите слово

Морковь

; 2. В ячейку

В15

введите

Объем продаж

Моркови = 25; 3. После ввода значений, в столбцах

D

и

Е

автоматически будет отображена отсортированная по убыванию таблица; 4. В сортированной таблице новая строка будет отображена предпоследней.

Скорость вычислений формул

На «среднем» по производительности компьютере пересчет пары таких

формул массива,

расположенных в 100 строках, практически не заметен. Для таблиц с 300 строками время пересчета занимает 2-3 секунды, что вызывает неудобства. Либо необходимо отключить автоматический пересчет листа (

) и периодически нажимать клавишу

F9

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

Альтернативные подходы к сортировке таблиц

Отсортируем строки исходной таблицы с помощью стандартного фильтра (выделите заголовки исходной таблицы и нажмите

CTRL+SHIFT+L

). В выпадающем списке выберите требуемую сортировку.

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

Также можно воспользоваться инструментом Сортировка (

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

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

При использовании

Таблиц в формате EXCEL2007

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

Какой вариант предпочтительней — как всегда — выбирать разработчику.

Еще одна формула массива (+дополнительный столбец). Задача1.1

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

формулы массива

, но нам понадобится дополнительный (служебный) столбец D (см.

файл примера лист Пример2

):

=

НАИБОЛЬШИЙ(ЕСЛИ(F7=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0);СЧЁТЕСЛИ($F$7:$F$14;F7)-СЧЁТЕСЛИ($F$6:F6;F7))

В столбце F содержится отсортированный столбец В (объем продаж). Формула возвращает позицию значения объема продаж. Например, число 86 находится в 5-й строке таблицы.

Для повторов выражение

ЕСЛИ(F8=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0)

будет возвращать несколько значений: {0:2:0:0:0:0:0:8}, т.е. число 74 находится в строках 2 и 8.

С помощью функции

НАИБОЛЬШИЙ()

сначала выводится 2, затем 8 (в разных строках).

Эта формула более наглядна, чем рассмотренная выше в начале статьи, но требует наличия дополнительного столбца.

Задача2 (Сортировка таблицы по текстовому столбцу)

Отсортируем строки таблицы по содержимому Текстового столбца (по Фруктам).


Примечание

: Про сортировку списка текстовых значений можно прочитать в статье

Сортированный список в MS EXCEL (ТЕКСТовые значения)

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

Для сортировки таблицы придется создать 2 служебных столбца (D и E).

В столбце D введем

формулу массива, возвращающую несколько значений

=

СЧЁТЕСЛИ($B$7:$B$14;»<«&$B$7:$B$14)+1

Эта формула является аналогом

ранга

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

В столбце E введем обычную формулу:

=

СЧЁТЕСЛИ($D$6:D6;D7)+D7

Эта формула учитывает повторы текстовых значений и корректирует «ранг». Теперь разным значениям Яблоки соответствуют разные «ранги» — 7 и 8. Это позволяет вывести список сортированных значений. Для этого используйте формулу (столбец G):

=

ИНДЕКС($B$7:$B$14;ПОИСКПОЗ(СТРОКА()-СТРОКА($G$6);$E$7:$E$14;0))

Аналогичная формула выведет соответствующий объем продаж (столбец Н).

Задача 2.1 (Двухуровневая сортировка)

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

Для этого воспользуемся результатами Задачи 1.1 и Задачи 2.

Подробности в

файле примера

на листе Задача2.

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

Кайли

Дата: Четверг, 18.01.2018, 14:24 |
Сообщение № 1

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

Как отсортировать от минимального к максимальному, и максимальное к минимальному, по фильтру (D1). При нажатии в фильтре в ячейке D1 сортировать по максимальному к минимальному, действия не происходит.


Привет Мир!

Сообщение отредактировал КайлиЧетверг, 18.01.2018, 15:52

 

Ответить

Pelena

Дата: Четверг, 18.01.2018, 14:29 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Название темы ни о чём, конкретизируйте, в чём проблема?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

bmv98rus

Дата: Четверг, 18.01.2018, 14:30 |
Сообщение № 3

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

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016

Блиц ответ — воспользоватся сортировкой. Выделить его Alt+ASA или Alt+ASD.

[p.s.] про формулы ничего не сказано


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 14:38 |
Сообщение № 4

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

Pelena, При нажатии *сортировка и фильтр* сортировка не происходит . Столбик *В*


Привет Мир!

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 14:42 |
Сообщение № 5

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

bmv98rus, В каком разделе задать этот вопрос.., и как перенести )


Привет Мир!

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 14:50 |
Сообщение № 6

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

bmv98rus, Не выходит


Привет Мир!

 

Ответить

bmv98rus

Дата: Четверг, 18.01.2018, 15:11 |
Сообщение № 7

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

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016

Я ж про формулы не зря написал. На одном листе не получится, если только на другой лист перенести формулы


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

sboy

Дата: Четверг, 18.01.2018, 15:11 |
Сообщение № 8

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

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

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


Excel 2010

И не выйдет, там ссылки


Яндекс: 410016850021169

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 15:32 |
Сообщение № 9

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

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


Привет Мир!

Сообщение отредактировал КайлиЧетверг, 18.01.2018, 15:45

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 15:42 |
Сообщение № 10

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

bmv98rus, Готово, переделал файл.


Привет Мир!

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 15:54 |
Сообщение № 11

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

bmv98rus, Извините, С тоже важен.. главное D отсортировать и что бы С не изменить.


Привет Мир!

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 16:00 |
Сообщение № 12

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

Вероятно сортируемый столбик как то надо сделать независимым


Привет Мир!

 

Ответить

Кайли

Дата: Четверг, 18.01.2018, 16:02 |
Сообщение № 13

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

А всё сделал спасибо) просто надо было перенести на другой лист)


Привет Мир!

 

Ответить

bmv98rus

Дата: Четверг, 18.01.2018, 16:11 |
Сообщение № 14

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

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016

надо было перенести на другой лист)

почти час прошел от момента

если только на другой лист перенести формулы


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Nic70y

Дата: Пятница, 19.01.2018, 07:44 |
Сообщение № 15

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

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

Сообщений: 8132


Репутация:

1998

±

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


Excel 2010

наскоряк
D1=выпадающий список
D2 и далее=

Код

=НАИМЕНЬШИЙ(C$2:C$8;ABS((D$1=»макс»)*(СЧЁТ(C$2:C$8)+1)-СТРОКА(A1)))

К сообщению приложен файл:

2782834.xlsx
(10.5 Kb)


ЮMoney 41001841029809

 

Ответить

Karataev

Дата: Пятница, 19.01.2018, 08:55 |
Сообщение № 16

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

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

Сообщений: 1330


Репутация:

528

±

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


Excel


Что означает Alt+ASA? В яндексе попытался найти, но не получилось.


Киви-кошелек: 9166309108

 

Ответить

Karataev

Дата: Пятница, 19.01.2018, 09:02 |
Сообщение № 17

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

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

Сообщений: 1330


Репутация:

528

±

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


Excel

Кайли, на другой лист необязательно переносить. Достаточно скопировать столбец «D» в столбец «E» таким образом:
скопируйте столбец «D» — выделите столбец «E» — вкладка «Главная» — стрелка кнопки «Вставить» — Специальная вставка — Значения — OK.
Теперь сортируйте столбец «E» обычным способом.


Киви-кошелек: 9166309108

 

Ответить

bmv98rus

Дата: Пятница, 19.01.2018, 09:39 |
Сообщение № 18

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

Ранг: Участник клуба

Сообщений: 4009


Репутация:

760

±

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


Excel 2013/2016


Фактически это вызов меню меню сортировки. Удерживаем Alt ииии

К сообщению приложен файл:

8866453.jpg
(51.9 Kb)


Замечательный Временно просто медведь , процентов на 20.

 

Ответить

Кайли

Дата: Пятница, 19.01.2018, 22:50 |
Сообщение № 19

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

Nic70y, опа хорошая идея. удобно..и без переноса.


Привет Мир!

 

Ответить

Кайли

Дата: Пятница, 19.01.2018, 23:02 |
Сообщение № 20

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

Ранг: Форумчанин

Сообщений: 118


Репутация:

0

±

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


Excel 2007

bmv98rus, Попробывал, всё работает. Спасибо применю именно так.


Привет Мир!

 

Ответить

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

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

Сортируйте связанные данные и сохраняйте формулы с помощью Kutools for Excelхорошая идея3


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

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

Выберите ячейку формулы, выберите формулу в строке формул и нажмите F4 Клавиша изменения ссылки на абсолютную ссылку.

Функции: Если в одной ячейке несколько ссылок, вам нужно изменить ссылки одну за другой, выбрав и нажав F4 в строке формул.
документ сортировать связанные данные 3

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

Теперь формулы сохраняются при сортировке.


Сортируйте связанные данные и сохраняйте формулы с помощью Kutools for Excel

Изменение ссылок по очереди занимает много времени, но с Преобразовать ссылки полезность в Kutools for Excel, вы можете быстро изменить все ссылки в диапазоне абсолютных ссылок по мере необходимости.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите ячейки, ссылку на которые вы хотите изменить, нажмите Кутулс > Подробнее (в группе Формула) > Преобразовать ссылки.
документ сортировать связанные данные 6

2. в Преобразование ссылок на формулы диалог, проверьте К абсолютному вариант. Смотрите скриншот:
документ сортировать связанные данные 7

3. Нажмите Ok. Затем весь выбор был преобразован в абсолютные ссылки.

4. Затем вы можете отсортировать данные.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


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

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

офисный дно

Комментарии (5)


Оценок пока нет. Оцените первым!

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

Для такой сортировки стоит выделить два случая:

— Сортировка числовых значений

— Сортировка текста

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

В серых столбцах показано, какие формулы надо применять. Рассмотрим немного подробнее:

1. Сперва отсортируем именно числа. Для этого применяется хорошая комбинация функций =НАИМЕНЬШИЙ(A:A;СТРОКА()-1), где функция НАИМЕНЬШИЙ() ищет значения в столбце А и возвращает нужное число по счету (т.е. если после точки с запятой поставить 1, вернет самое меньшее — первое значение в массиве). Мы же используем нумерацию строк, функция СТРОКА() считает как раз номер строки и вычитаем единицу, поскольку массив начался со второй строки.

=НАИМЕНЬШИЙ(A:A;СТРОКА()-1)

2. Для каждого числа проставим соответствующие фамилии функцией =ВПР() в столбце Е. Для простоты понимания скачайте пример, а для закрепления сделайте ВПР для имен.

Сортировка формулой чисел

Сортировка формулой текста 

С текстом функция НАИМЕНЬШИЙ() уже не работает. Здесь лучше всего применить конструкцию с функцией =СЧЁТЕСЛИ()

=СЧЁТЕСЛИ($H$1:$H$5;"<"&H2)+СЧЁТЕСЛИ($H$2:H2;"="&H2)

Первое выражение ищет в диапазоне $B$8:$B$12 все значения не равные Фамилии в этой строке. Второе выражение приплюсовывает значение при нахождении значений равных нужной фамилии.

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

Т.е. мы нашли порядковые номера каждой фамилии. Столбец J.

Проставлем порядковые номера от 1 и дальше в столбце K.

Теперь заВПРим соответствующие значения в столбце L.

Сортировка формулой

Ничего сложного быть не должно, скачайте файл пример:

Пример для двух вариантов

Если будут вопросы, смело пишите в комментарии.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel сортировка ячеек по условиям
  • Excel сортировка ячеек по убыванию
  • Excel сортировка ячеек по словами
  • Excel сортировка ячеек по словам
  • Excel сортировка ячеек по значению

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии