Почему при сортировке в excel меняется формула
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Вы можете получить сообщение об ошибке при сортировке диапазона, который содержит объединенные ячейки в Excel
При сортировке диапазона на листе Microsoft Excel программа Excel не сортирует диапазон. Кроме того, может появиться следующее сообщение об ошибке:
Эта операция требует одинакового размера объединенных ячеек.
Причина
Эта проблема может возникнуть при сортировке диапазона ячеек, а также при выполнении следующих условий:
- Вы ранее объединили некоторые ячейки, но не все ячейки в диапазоне сортировки.
- Вы ранее объединили все ячейки в диапазоне сортировки, но не все ячейки имеют одинаковый размер.
Обходной путь
Чтобы решить эту проблему, разделите или объедините все объединенные ячейки в диапазоне, чтобы они имели одинаковый размер. Каждая объединенная ячейка в диапазоне должна занимать одинаковое количество строк и столбцов, что и другие объединенные ячейки в диапазоне.
Общее решение
- Выберите весь диапазон, который следует сортировать.
- В группе Выравнивание на вкладке Главная нажмите кнопку вызова диалогового окна Выравнивание.
- Выберите вкладку Выравнивание, а затем снимите флажок Объединить ячейки.
- Нажмите ОК.
Это может изменить расположение данных в диапазоне.
Пример решения
- Введите следующие данные на листе:
A1: B1: Name C1: Value A2: B2: Sue C2: 1 A3: B3: Tom C3: 2
- Выделите каждую пару ячеек.
- Нажмите кнопку вызова диалогового окна Выравнивание в группе Выравнивание на вкладке Главная.
- Выберите вкладку Выравнивание, а затем установите флажок Объединить ячейки.
- Нажмите ОК.
Не объединяйте ячейки в столбце C.
- Отмените объединение ячеек A1:B3, чтобы в выбранном диапазоне не было объединенных ячеек.
- Объедините ячейки C1 и D1, C2 и D2, а также C3 и D3, чтобы столбец C имел тот же размер (после объединения), что и столбец A/B. Затем выберите ячейки A1:D3 и повторите шаги 3 и 4, используя единый размер диапазона.
Обратная связь
Были ли сведения на этой странице полезными?
Обратный порядок элементов в списке
Банальная, на первый взгляд, задача, периодически встречающаяся в работе почти любого пользователя Microsoft Excel – расположить элементы списка в обратном порядке. При всей кажущейся простоте, здесь есть свои «фишки» — давайте разберем несколько вариантов ее решения.
Способ 1. Ручная сортировка по доп.столбцу
Это обычно первое, что приходит в голову. Добавляем рядом с нашим списком еще один столбец с порядковыми номерами и сортируем по этому столбцу по убыванию:
![]() |
![]() |
Очевидный плюс такого подхода в простоте. Очевидный же минус в том, что нужно руками проделать энное количество операций. Если это разовая задача — ОК, но если данные меняются каждый день, то сортировать список постоянно вручную уже напрягает. Выходом может стать использование формул.
Способ 2. Обратный порядок формулой
Поскольку формулы в Excel пересчитываются автоматически (если включен ручной режим пересчета), то и сортировка, реализованная формулами, будет происходить «на лету», без какого либо участия пользователя. Нужная нам формула, размещающая элементы списка в обратном порядке может выглядеть так:
Недостаток этой формулы в том, что в ней должны жестко задаваться начало и конец списка (ячейки A2 и A9 в нашем случае). Если заранее точно не известно, сколько именно элементов будет в списке, то лучше использовать другой подход:
В этой формуле номер последней занятой ячейки подсчитывается с помощью функции СЧЁТЗ (COUNTA) , т.е. количество элементов в исходном списке может впоследствии меняться. Минус этого варианта — в исходном списке не должно быть пустых ячеек, т.к. функция СЧЁТЗ тогда неправильно вычислит номер строки последнего элемента. Выходом может стать использование динамического именованного диапазона с автоподстройкой размеров либо хитрой формулы массива:
Как легко заметить, это вариация первого способа, где диапазон взят «с запасом» сразу до сотой строки и номер строки последней заполненной ячейки задается не жестко, а вычисляется с помощью фрагмента МАКС(($A$2:$A$100<>«»)*СТРОКА($A$2:$A$100)) Каждая ячейка в диапазоне A2:A100 проверяется на заполненность с помощью выражения ($A$2:$A$100<>«»), что даст на выходе массив значений ИСТИНА и ЛОЖЬ. Затем этот массив поэлементно умножается на массив номеров строк, получаемый с помощью функции СТРОКА($A$2:$A$100). Поскольку логическую ИСТИНУ Excel интерпретирует как 1, а ЛОЖЬ – как 0, то после умножения мы получим массив номеров заполненных ячеек. А уже из него функция МАКС (MAX) выбирает самое большое число, т.е. номер последней заполненной строки. И, само-собой, не забудьте после ввода этой формулы нажать не обычный Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести ее как формулу массива.
Способ 3. Макрос
Если хочется реализовать перекладывание значений ячеек в обратном порядке без дополнительного столбца с формулами, т.е. прямо в исходных ячейках, то не обойтись без простого макроса.
Нажмите сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer) . Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст макроса:
Sub Reverse() Dim arrData(), n As Long arrData = Selection For Each cell In Selection cell.Value = arrData(UBound(arrData) - n, 1) n = n + 1 Next cell End Sub
Теперь, если выделить столбец-список с данными и запустить наш макрос с помощью сочетания Alt+F8 или команды Разработчик — Макросы (Developer — Macros) , то список развернется в обратном порядке прямо в тех же ячейках, т.е. на месте.
Ссылки по теме
- Как создать в Excel динамический именованный диапазон с автоподстройкой размеров
- Что такое формулы массива и как их использовать
- Хитрости сортировки в MS Excel
Сортировка данных в диапазоне или таблице
Сортировка данных — неотъемлемая часть их анализа. Вам может потребоваться расположить имена в списке по алфавиту, составить список складских запасов и отсортировать его по убыванию или упорядочить строки по цветам или значкам. Сортировка данных помогает быстро визуализировать данные и лучше понимать их, упорядочивать и находить необходимую информацию и в итоге принимать более правильные решения.
Сортировать данные можно по тексту (от А к Я или от Я к А), числам (от наименьших к наибольшим или от наибольших к наименьшим), а также датам и времени (от старых к новым или от новых к старым) в одном или нескольких столбцах. Можно также выполнять сортировку по настраиваемым спискам, которые создаете вы сами (например, списку, состоящему из элементов «Большой», «Средний» и «Маленький»), или по формату, включая цвет ячеек и цвет шрифта, а также по значкам. Для поиска наибольших и наименьших значений в диапазоне ячеек или таблице, например 10 самых высоких оценок или 5 самых низких сумм продаж, можно использовать функцию «Автофильтр» или условное форматирование. Посмотрите видео, чтобы узнать, как это делается.
Сортировка текстовых значений
- Выделите ячейку в столбце, который требуется отсортировать.
- На вкладке Главная в группе Сортировка и фильтр выполните одно из указанных ниже действий.
- Чтобы быстро отсортировать значения по возрастанию, нажмите кнопку
Примечания: Возможные проблемы
- Убедитесь, что все данные сохранены в текстовом виде. Если столбец, который подлежит сортировке, содержит числа, сохраненные в числовом формате, и числа, сохраненные в текстовом формате, необходимо отформатировать все ячейки либо как числа, либо как текст. В противном случае числа, сохраненные в числовом формате, после сортировки окажутся выше чисел, сохраненных в текстовом формате. Для преобразования всех выбранных данных в текстовый формат нажмите CTRL+1, чтобы открыть диалоговое окно Формат ячеек, откройте вкладку Число и в разделе Категория выберите вариант Общий, Число или Текст.
- Удалите все начальные пробелы. Иногда импортируемые из других приложений данные могут дополняться начальными пробелами. Прежде чем выполнять сортировку, удалите их из данных. Это можно сделать вручную или с помощью функции СЖПРОБЕЛЫ.
Сортировка чисел
- Выделите ячейку в столбце, который требуется отсортировать.
- На вкладке Главная в группе Сортировка и фильтр выполните одно из указанных ниже действий.
- Для сортировки чисел по возрастанию нажмите кнопку
- Возможные проблемы
- Убедитесь, что все числа сохранены в числовом формате. Если результаты отличаются от ожидаемых, возможно, столбец содержит числа, сохраненные в текстовом формате. Например, отрицательные числа, импортируемые из некоторых систем бухгалтерского учета, или числа, содержащие начальный символ апострофа (‘), сохраняются в текстовом виде. Дополнительные сведения см. в разделе Преобразование чисел из текстового формата в числовой.
Сортировка значений даты и времени
- Выделите ячейку в столбце, который требуется отсортировать.
- На вкладке Главная в группе Сортировка и фильтр выполните одно из указанных ниже действий.
- Чтобы отсортировать значения по возрастанию, щелкните
Примечания: Возможные проблемы
- Убедитесь, что все значения даты и времени сохранены в формате даты и времени. Если результаты отличаются от ожидаемых, возможно, столбец содержит значения даты и времени, сохраненные в текстовом формате. Чтобы значения даты и времени сортировались в Excel правильно, они должны быть сохранены как порядковые числа с информацией о дате или времени. Если Excel не может распознать значение как дату или время, оно сохраняется как текст. Дополнительные сведения см. в статье Преобразование дат из текстового формата в формат даты.
- Для сортировки по дням недели измените формат ячеек таким образом, чтобы в них выводились дни недели. Для сортировки по дням недели независимо от даты преобразуйте их в текст с помощью функции ТЕКСТ. Однако функция ТЕКСТ возвращает текстовое значение, поэтому сортировка будет выполнена по алфавитно-цифровым данным. Дополнительные сведения см. в статье Отображение дат в виде дней недели.
Сортировка по нескольким столбцам или строкам
Возможно, вы захотите выполнить сортировку по двум или нескольким столбцам или строкам, чтобы сгруппировать данные с одинаковыми значениями в одном столбце или строке, а затем отсортировать эти группы с одинаковыми значениями по другому столбцу или строке. Например, если есть столбцы «Отдел» и «Сотрудник», можно сначала выполнить сортировку по столбцу «Отдел» (для группировки всех сотрудников по отделам), а затем — по имени (для расположения имен сотрудников каждого отдела в алфавитном порядке). Можно одновременно выполнять сортировку по 64 столбцам.
Примечание: Для получения наилучших результатов в сортируемый диапазон нужно включить заголовки столбцов.
- Выделите любую ячейку в диапазоне данных.
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Сортировка.
В диалоговом окне Сортировка в группе Столбец в поле Сортировать по выберите первый столбец, по которому необходимо выполнить сортировку.
- Чтобы выполнить сортировку по текстовым значениям, числам или значениям даты и времени, выберите пункт Значения.
- Чтобы выполнить сортировку по формату, выберите вариант Цвет ячейки, Цвет шрифта или Значок ячейки.
- Для текстовых значений выберите От А до Я или От Я до А.
- Для числовых значений выберите По возрастанию или По убыванию.
- Для дат и времени выберите От старых к новым или От новых к старым.
- Чтобы выполнить сортировку по настраиваемому списку, выберите пункт Настраиваемый список.
Примечание: В списке необходимо оставить хотя бы одну запись.
Сортировка по цвету ячейки, цвету шрифта или значку
Если диапазон ячеек или столбец таблицы был отформатирован вручную или с помощью условного форматирования с использованием цвета ячеек или цвета шрифта, можно также выполнить сортировку по цветам. Кроме того, можно выполнить сортировку по набору значков, созданных с помощью условного форматирования.
- Выделите ячейку в столбце, который требуется отсортировать.
- На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Сортировка.
В диалоговом окне Сортировка в группе Столбец в поле Сортировать по выберите столбец, по которому необходимо выполнить сортировку.
В группе Сортировка, выберите вариант Цвет ячейки, Цвет шрифта или Значок ячейки.
- Чтобы переместить цвет ячейки, цвет шрифта или значок вверх или влево, выберите вариант Сверху для сортировки по столбцу и Слева для сортировки по строке.
- Чтобы переместить цвет ячейки, цвет шрифта или значок вниз или вправо, выберите вариант Снизу для сортировки по столбцу и Справа для сортировки по строке.
Примечание: Порядка цветов ячеек, цветов шрифта или значков по умолчанию не существует. Вы должны самостоятельно определить порядок для каждой сортировки.
Сортировка по настраиваемым спискам
Для сортировки в порядке, заданном пользователем, можно применять настраиваемые списки. Например, столбец может содержать значения, по которым вы хотите выполнить сортировку, такие как «Высокий», «Средний» и «Низкий». Как настроить сортировку, чтобы сначала отображались значения «Высокий», затем — «Средний», а в конце — «Низкий»? Если отсортировать их в алфавитном порядке (от А до Я), то значения «Высокий» будут отображаться вверху, но за ними окажутся значения «Низкий», а не «Средний». А при сортировке от Я до А значения «Средний» окажутся в самом верху. В действительности значения «Средний» всегда, независимо от порядка сортировки должны отображаться в середине. Вы можете решить эту проблему, создав настраиваемый список.
-
При необходимости создайте настраиваемый список.
- Пользовательские списки можно создавать только на основе значений (текстовых, числовых или значений даты и времени). Создать настраиваемый список на основе формата (цвета ячейки, цвета шрифта или значков) нельзя.
- Максимальная длина пользовательского списка составляет 255 символов, и первое значение не может начинаться с цифры.
-
В диапазоне ячеек введите значения, по которым необходимо выполнить сортировку, в нужном порядке, например в порядке убывания.
Сортировка с учетом регистра
- На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Сортировка.
В диалоговом окне Сортировка нажмите кнопку Параметры.
В диалоговом окне Параметры сортировки установите флажок Учитывать регистр.
Сортировка слева направо
Как правило, сортировка выполняется сверху вниз, однако значения можно отсортировать слева направо.
Примечание: Таблицы не поддерживают возможность сортировки слева направо. Сначала преобразуйте таблицу в диапазон: выделите в ней любую ячейку и выберите пункты Работа с таблицами > Преобразовать в диапазон.
- Выделите любую ячейку в сортируемом диапазоне.
- На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Сортировка.
В диалоговом окне Сортировка нажмите кнопку Параметры.
В диалоговом окне Параметры сортировки в группе Сортировать выберите пункт столбцы диапазона, а затем нажмите кнопку ОК.
В группе Строка в поле Сортировка по выберите строку для сортировки. Обычно это строка 1 (если требуется выполнить сортировку по строке заголовка).
Совет: Если строка заголовка содержит текст, а вам нужно отсортировать столбцы по числам, добавьте новую строку над диапазоном данных и укажите в ней числа в нужном порядке.
- Для текстовых значений выберите вариант От А до Я или От Я до А.
- Для числовых значений выберите По возрастанию или По убыванию.
- Для дат и времени выберите От старых к новым или От новых к старым.
- В группе Сортировка, выберите вариант Цвет ячейки, Цвет шрифта или Значок ячейки.
- В списке Порядок выберите цвет ячейки, цвет шрифта или значок, а затем — вариант Слева или Справа.
Примечание: При сортировке строк, являющихся частью структуры листа, в Excel сортируются группы наивысшего уровня (уровень 1) таким образом, что порядок расположения строк или столбцов детализации не изменится, даже если они скрыты.
Сортировка по части значения в столбце
Чтобы выполнить сортировку по части значения в столбце, например части кода (789-WDG-34), фамилии (Регина Покровская) или имени (Покровская Регина), сначала необходимо разбить столбец на две или несколько частей таким образом, чтобы значение, по которому нужно выполнить сортировку, оказалось в собственном столбце. Чтобы разбить значения в ячейке на части, можно воспользоваться текстовыми функциями или мастером текстов. Дополнительные сведения и примеры см. в статьях Разбивка текста по разным ячейкам и Разбивка текста по разным столбцам с помощью функций.
Сортировка меньшего диапазона в пределах большего
Предупреждение: Вы можете отсортировать значения в диапазоне, который является частью другого диапазона, однако делать это не рекомендуется, так как в результате будет разорвана связь между отсортированным диапазоном и исходными данными. Если отсортировать данные, как показано ниже, выбранные сотрудники окажутся связаны с другими отделами.
К счастью, Excel выдает предупреждение, если обнаруживает подобную попытку:
Если вы не собирались сортировать данные таким образом, выберите вариант автоматически расширить выделенный диапазон, в противном случае — сортировать в пределах указанного выделения.
Если результат не соответствует желаемому, нажмите кнопку Отменить
Примечание: Отсортировать подобным образом значения в таблице нельзя.
Дополнительные сведения об основных проблемах с сортировкой
Если результаты сортировки данных не соответствуют ожиданиям, сделайте следующее.
Проверьте, не изменились ли значения, возвращаемые формулами Если сортируемые данные содержат одну или несколько формул, значения, возвращаемые ими, при пересчете листа могут измениться. В этом случае примените сортировку повторно, чтобы получить актуальные результаты.
Перед сортировкой отобразите скрытые строки и столбцы При сортировке по столбцам скрытые строки не перемещаются, а при сортировке по строкам не перемещаются скрытые столбцы. Перед сортировкой данных целесообразно отобразить скрытые строки и столбцы.
Проверьте текущий параметр языкового стандарта Порядок сортировки зависит от выбранного языка. Убедитесь в том, что на панели управления в разделе Региональные параметры или Язык и региональные стандарты задан правильный языковой стандарт. Сведения о том, как изменить параметр языкового стандарта, см. в справке Microsoft Windows.
Вводите заголовки столбцов только в одну строку Если необходимо использовать заголовки из нескольких строк, установите перенос слов в ячейке.
Включите или отключите строку заголовков Обычно рекомендуется отображать строку заголовков при сортировке по столбцам, так как она облегчает восприятие данных. По умолчанию значение в заголовке не включается в сортировку. Но в некоторых случаях может потребоваться включить или отключить заголовок, чтобы значение в заголовке включалось или не включалось в сортировку. Выполните одно из следующих действий.
- Чтобы исключить из сортировки первую строку данных (заголовок столбца), на вкладке Главная в группе Редактирование нажмите кнопку Сортировка и фильтр, выберите команду Настраиваемая сортировка и установите флажок Мои данные содержат заголовки.
- Чтобы включить в сортировку первую строку данных (так как она не является заголовком столбца), на вкладке Главная в группе Редактирование нажмите кнопку Сортировка и фильтр, выберите команду Настраиваемая сортировка и снимите флажок Мои данные содержат заголовки.
Сортировка данных в таблице
Если данные отформатированы как таблица Excel, можно быстро выполнить их сортировку и фильтрацию с помощью кнопок фильтрации в строке заголовков.
- Если данные еще не содержатся в таблице, нужно отформатировать их как таблицу. Это приведет к автоматическому добавлению кнопки фильтрации вверху каждого столбца таблицы.
- Нажмите кнопку фильтрации в верхней части нужного столбца и выберите необходимый порядок сортировки.
Чтобы отменить сортировку, нажмите кнопку Отменить на вкладке Главная.
Сортировка данных в диапазоне
- Выберите ячейку в столбце, по которому будет выполняться сортировка.
- Если на листе есть строка заголовков, выберите один заголовок, по которому нужно отсортировать данные, например Население.
Если строки заголовков нет, выберите верхнюю ячейку в столбце, по которому нужно выполнить сортировку, например ячейку со значением 634535.
- По возрастанию: сортировка от A до Я, от наименьшего значения до наибольшего или от самой ранней даты до самой поздней.
- По убыванию: сортировка от Я до А, от наибольшего значения до наименьшего или от самой поздней даты до самой ранней.
Сортировка по нескольким столбцам или строкам
Например, у вас есть таблица со столбцами «Отдел» и «Сотрудник». Можно сначала выполнить сортировку по столбцу «Отдел» для группировки всех сотрудников по отделам, а затем — по имени для расположения имен сотрудников каждого отдела в алфавитном порядке.
Выберите любую ячейку в диапазоне данных.
-
На вкладке Данные в группе Сортировка и фильтрация нажмите кнопку Настраиваемая сортировка.
В диалоговом окне Настраиваемая сортировка в группе Столбец в поле Сортировка выберите первый столбец, по которому необходимо выполнить сортировку.
Примечание: Меню Сортировка отключено, так как оно пока не поддерживается. В настоящее время вы можете изменить сортировку в классическом приложении Excel.
- По возрастанию: сортировка от A до Я, от наименьшего значения до наибольшего или от самой ранней даты до самой поздней.
- По убыванию: сортировка от Я до А, от наибольшего значения до наименьшего или от самой поздней даты до самой ранней.
Сортировка по цвету ячейки, цвету шрифта или значку
Если диапазон ячеек или столбец таблицы был отформатирован вручную или с помощью условного форматирования с использованием цвета ячеек или цвета шрифта, можно также выполнить сортировку по цветам. Кроме того, можно выполнить сортировку по набору значков, созданных с помощью условного форматирования.
- Выделите ячейку в столбце, который требуется отсортировать.
- На вкладке Данные в группе Сортировка и фильтрация нажмите кнопку Настраиваемая сортировка.
В диалоговом окне Настраиваемая сортировка в группе Столбцы выберите столбец, по которому необходимо выполнить сортировку.
Примечание: Порядка цветов ячеек, цветов шрифта или значков по умолчанию не существует. Вы должны самостоятельно определить порядок для каждой сортировки.
- Перемещение вверх или влево: выберите параметр Сверху для сортировки столбца и Слева для сортировки строки.
- Перемещение вниз или вправо: выберите параметр Снизу для сортировки столбца и Справа для сортировки строки.
- Убедитесь, что столбец в поле Затем по и выбор в поле Порядок совпадают.
- Повторите эти шаги для каждого дополнительного цвета ячейки, цвета шрифта или значка, которые нужно включить в сортировку.
Сортировка с учетом регистра
- На вкладке Данные в группе Сортировка и фильтрация нажмите кнопку Настраиваемая сортировка.
В диалоговом окне Настраиваемая сортировка нажмите кнопку Параметры.
В меню Параметры установите флажок С учетом регистра.
Сортировка слева направо
Как правило, сортировка выполняется сверху вниз, однако значения можно отсортировать слева направо.
Примечание: Таблицы не поддерживают возможность сортировки слева направо. Сначала преобразуйте таблицу в диапазон: выделите в ней любую ячейку и выберите пункты Работа с таблицами > Преобразовать в диапазон.
- Выделите любую ячейку в сортируемом диапазоне.
- На вкладке Данные в группе Сортировка и фильтрация нажмите кнопку Настраиваемая сортировка.
В диалоговом окне «Настраиваемая сортировка» нажмите кнопку Параметры.
В разделе Ориентация выберите вариант Сортировать слева направо
В группе Строка в раскрывающемся списке Сортировка выберите строку для сортировки. Обычно это строка 1 (если требуется выполнить сортировку по строке заголовка).
- Сортировка по возрастанию: сортировка от A до Я, от наименьшего значения до наибольшего или от самой ранней даты до самой поздней.
- Сортировка по убыванию: сортировка от Я до А, от наибольшего значения до наименьшего или от самой поздней даты до самой ранней.
Посмотрите, как это делается
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.