Как сделать обратную формулу в эксель

Обновлено: 07.07.2024

= Мир MS Excel/Статьи об Excel

Приёмы работы с книгами, листами, диапазонами, ячейками [6]
Приёмы работы с формулами [13]
Настройки Excel [3]
Инструменты Excel [4]
Интеграция Excel с другими приложениями [4]
Форматирование [1]
Выпадающие списки [2]
Примечания [1]
Сводные таблицы [1]
Гиперссылки [1]
Excel и интернет [1]
Excel для Windows и Excel для Mac OS [2]

Эта статья будет интересна тем, кто пытается понять работу сложных формул.

В Excel есть инструменты, которые позволяют отследить работу формулы по шагам. Первый из них называется Вычислить формулу и находится на вкладке Формулы -- Зависимости формул в версиях Excel, начиная с Excel 2007, и в меню Сервис -- Зависимости формул в более ранних версиях. Второй, менее известный, но от этого не менее удобный, - функциональная клавиша F9.

Разберём работу этих инструментов на нескольких примерах.

Пример 1. Дана таблица, содержащая сведения о персонале предприятия. Требуется по введённому табельному номеру определить фамилию сотрудника.


Для решения этой задачи в ячейку H3 ведём табельный номер, а в ячейку I3 формулу =ИНДЕКС($B$2:$B$25;ПОИСКПОЗ(H3;$E$2:$E$25;0))

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


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




Теперь посмотрим, как с этой же формулой поможет разобраться клавиша F9.

Выделим в строке формул ссылку I3, нажмём F9, выделим фрагмент $E$2:$E$37 и снова нажмём F9. Клавиша F9 вычисляет выделенные фрагменты формулы, и мы можем видеть не только результат функции, но и аргументы в виде массивов. Согласитесь, что при таком подходе формула становится "прозрачной", и становится очевиден результат функции ПОИСКПОЗ()


Чтобы привести формулу в первоначальный вид, нажмём ESC.

Ещё немного потренируемся: выделим фрагмент $B$2:$B$37, нажмём F9, затем выделим функцию ПОИСКПОЗ(I3;$E$2:$E$37;0) и снова F9. Видим массив фамилий, среди которых будет выбрана третья по счёту


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

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

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

Пример 2. На основе таблицы из Примера 1 создать список табельных номеров и фамилий сотрудников одного из отделов, указанного в отдельной ячейке. Формула, решающая эту задачу, выглядит так: =ИНДЕКС($E$2:$E$25;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$25=$H$7;СТРОКА($A$1:$A$24));СТРОКА(A1))), причём это - формула массива, которую следует вводить сочетанием клавиш <Ctrl>+<Shift>+<Enter>


Основой этой формулы является функция ИНДЕКС(), которая позволяет вывести элемент массива по указанному индексу (порядковому номеру). Первым аргументом этой функции указывается диапазон ячеек с табельными номерами. Выделив в формуле фрагмент $E$2:$E$25 и нажав F9, мы увидим значения исходного массива


Порядковый номер для выбора элемента массива вычисляется с помощью функции НАИМЕНЬШИЙ(ЕСЛИ(.

Разобьём эту часть формулы на составляющие. Выделим фрагмент $A$2:$A$25=$H$7 и нажмём F9. Это логическое выражение даёт значение ИСТИНА, если значение ячейки диапазона $A$2:$A$25 равно выбранному названию отдела $H$7, и ЛОЖЬ, если не равно.

Выделим фрагмент СТРОКА($A$1:$A$24) и нажмём F9, получим массив чисел, идущих по порядку от 1 до 24.


Теперь предсказуем результат функции ЕСЛИ() - это массив, в котором значения ИСТИНА заменятся на порядковые номера, а значения ЛОЖЬ останутся на месте. Увидеть это можно, выделив функцию ЕСЛИ целиком с закрывающей скобкой и нажав F9


Далее в действие вступает функция НАИМЕНЬШИЙ(), которая первым аргументом имеет вышеуказанный массив, а вторым - функцию СТРОКА(A1). Обращаем внимание, что во всей формуле это единственная относительная ссылка, которая будет изменяться при копировании формулы по строкам, а именно в первом случае даст 1, на следующей строке 2 и т.д. по порядку. В итоге в ячейке I7 формула, "расшифрованная" с помощью клавиши F9, будет иметь вид


А скопированная в ячейку I8


Если понадобится применить данную формулу для другого диапазона, изменится исходный диапазон в функции ИНДЕКС(), а также изменится верхняя граница диапазона функции СТРОКА(), в то время как нижняя граница остаётся всегда $A$1. Важно, чтобы количество строк исходного диапазона совпадало с количеством строк в функции СТРОКА().

Фамилии в столбец J можно вставить с помощью формулы, разобранной в Примере 1.

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

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

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

Ниже приведен пример формулы, умножающей 2 на 3 и прибавляющей к результату 5, чтобы получить 11.

Следующая формула использует функцию ПЛТ для вычисления платежа по ипотеке (1 073,64 долларов США) с 5% ставкой (5% разделить на 12 месяцев равняется ежемесячному проценту) на период в 30 лет (360 месяцев) с займом на сумму 200 000 долларов:

Ниже приведены примеры формул, которые можно использовать на листах.

=A1+A2+A3 Вычисляет сумму значений в ячейках A1, A2 и A3.

=КОРЕНЬ(A1) Использует функцию КОРЕНЬ для возврата значения квадратного корня числа в ячейке A1.

=СЕГОДНЯ() Возвращает текущую дату.

=ПРОПИСН("привет") Преобразует текст "привет" в "ПРИВЕТ" с помощью функции ПРОПИСН.

=ЕСЛИ(A1>0) Анализирует ячейку A1 и проверяет, превышает ли значение в ней нуль.

Элементы формулы

Формула также может содержать один или несколько из таких элементов: функции, ссылки, операторы и константы.

1. Функции. Функция ПИ() возвращает значение числа Пи: 3,142.

2. Ссылки. A2 возвращает значение ячейки A2.

3. Константы. Числа или текстовые значения, введенные непосредственно в формулу, например 2.

4. Операторы. Оператор ^ ("крышка") применяется для возведения числа в степень, а оператор * ("звездочка") — для умножения.

Использование констант в формулах

Использование операторов в формулах

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

Типы операторов

Приложение Microsoft Excel поддерживает четыре типа операторов: арифметические, текстовые, операторы сравнения и операторы ссылок.

Арифметические операторы

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

Арифметический оператор

Возведение в степень

Операторы сравнения

Операторы сравнения используются для сравнения двух значений. Результатом сравнения является логическое значение: ИСТИНА либо ЛОЖЬ.

Оператор сравнения

>= (знак «больше или равно»)

Больше или равно

<= (знак «меньше или равно»)

Меньше или равно

Текстовый оператор конкатенации

Амперсанд (&) используется для объединения (соединения) одной или нескольких текстовых строк в одну.

Текстовый оператор

Соединение или объединение последовательностей знаков в одну последовательность

Выражение «Северный»&«ветер» дает результат «Северный ветер».

Операторы ссылок

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

Оператор ссылки

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

; (точка с запятой)

Оператор объединения. Объединяет несколько ссылок в одну ссылку.

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

Порядок выполнения Excel в Интернете формулах

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

Порядок вычислений

Формулы вычисляют значения в определенном порядке. Формула всегда начинается со знака равно(=).Excel в Интернете интерпретирует знаки после знака равно как формулу. После знака равно вычисляются элементы (операнды), такие как константы или ссылки на ячейки. Они разделены операторами вычислений. Excel в Интернете вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.

Приоритет операторов

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

Возведение в степень

Умножение и деление

Сложение и вычитание

Объединение двух текстовых строк в одну

Использование круглых скобок

Чтобы изменить порядок вычисления формулы, заключите ее часть, которая должна быть выполнена первой, в скобки. Например, следующая формула дает результат 11, так как Excel в Интернете умножение выполняется перед с добавлением. В этой формуле число 2 умножается на 3, а затем к результату прибавляется число 5.

Если же изменить синтаксис с помощью скобок, Excel в Интернете сбавляет 5 и 2, а затем умножает результат на 3, чтобы получить 21.

В следующем примере скобки, в которые заключена первая часть формулы, принудительно Excel в Интернете сначала вычислить ячейки B4+25, а затем разделить результат на сумму значений в ячейках D5, E5 и F5.

Использование функций и вложенных функций в формулах

Функции — это заранее определенные формулы, которые выполняют вычисления по заданным величинам, называемым аргументами, и в указанном порядке. Эти функции позволяют выполнять как простые, так и сложные вычисления.

Синтаксис функций

Приведенный ниже пример функции ОКРУГЛ, округляющей число в ячейке A10, демонстрирует синтаксис функции.

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

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

4. Всплывающая подсказка аргумента. При вводе функции появляется всплывающая подсказка с синтаксисом и аргументами. Например, всплывающая подсказка появляется после ввода выражения =ОКРУГЛ(. Всплывающие подсказки отображаются только для встроенных функций.

Ввод функций

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

Чтобы упростить создание и редактирование формул и свести к минимуму количество опечаток и синтаксических ошибок, пользуйтесь автозавершением формул. После того как вы введите знак " ocpSection" role="region" aria-label="Вложенные функции">

Вложенные функции

В некоторых случаях может потребоваться использовать функцию в качестве одного из аргументов другой функции. Например, в приведенной ниже формуле для сравнения результата со значением 50 используется вложенная функция СРЗНАЧ.

1. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

<c0>Предельное количество уровней вложенности функций</c0>. В формулах можно использовать до семи уровней вложенных функций. Если функция Б является аргументом функции А, функция Б находится на втором уровне вложенности. Например, в приведенном выше примере функции СРЗНАЧ и СУММ являются функциями второго уровня, поскольку обе они являются аргументами функции ЕСЛИ. Функция, вложенная в качестве аргумента в функцию СРЗНАЧ, будет функцией третьего уровня, и т. д.

Использование ссылок в формулах

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

Стиль ссылок A1

Стиль ссылок по умолчанию По умолчанию в Excel в Интернете используется стиль ссылок A1, который ссылается на столбцы буквами (от A до XFD, всего 16 384 столбца) и ссылается на строки с числами (от 1 до 1 048 576). Эти буквы и номера называются заголовками строк и столбцов. Для ссылки на ячейку введите букву столбца, и затем — номер строки. Например, ссылка B2 указывает на ячейку, расположенную на пересечении столбца B и строки 2.

Ячейка или диапазон

Использование

Ячейка на пересечении столбца A и строки 10

Диапазон ячеек: столбец А, строки 10-20.

Диапазон ячеек: строка 15, столбцы B-E

Все ячейки в строке 5

Все ячейки в строках с 5 по 10

Все ячейки в столбце H

Все ячейки в столбцах с H по J

Диапазон ячеек: столбцы А-E, строки 10-20

<c0>Ссылка на другой лист</c0>. В приведенном ниже примере функция СРЗНАЧ используется для расчета среднего значения диапазона B1:B10 на листе «Маркетинг» той же книги.

1. Ссылка на лист «Маркетинг».

2. Ссылка на диапазон ячеек с B1 по B10 включительно.

3. Ссылка на лист, отделенная от ссылки на диапазон значений.

Различия между абсолютными, относительными и смешанными ссылками

<c0>Относительные ссылки</c0>. Относительная ссылка в формуле, например A1, основана на относительной позиции ячейки, содержащей формулу, и ячейки, на которую указывает ссылка. При изменении позиции ячейки, содержащей формулу, изменяется и ссылка. При копировании или заполнении формулы вдоль строк и вдоль столбцов ссылка автоматически корректируется. По умолчанию в новых формулах используются относительные ссылки. Например, при копировании или заполнении относительной ссылки из ячейки B2 в ячейку B3 она автоматически изменяется с =A1 на =A2.

<c0>Абсолютные ссылки</c0>. Абсолютная ссылка на ячейку в формуле, например $A$1, всегда ссылается на ячейку, расположенную в определенном месте. При изменении позиции ячейки, содержащей формулу, абсолютная ссылка не изменяется. При копировании или заполнении формулы по строкам и столбцам абсолютная ссылка не корректируется. По умолчанию в новых формулах используются относительные ссылки, а для использования абсолютных ссылок надо активировать соответствующий параметр. Например, при копировании или заполнении абсолютной ссылки из ячейки B2 в ячейку B3 она остается прежней в обеих ячейках: =$A$1.

Смешанные ссылки Смешанная ссылка имеет абсолютный столбец и относительную строку либо абсолютную строку и относительный столбец. Абсолютная ссылка на столбец принимает форму $A 1, $B 1 и так далее. Абсолютная ссылка на строку имеет форму A$1, B$1 и так далее. При изменении позиции ячейки, содержаной формулу, изменяется относительная ссылка, а абсолютная ссылка не изменяется. При копировании или заполнении формулы по строкам или вниз по столбцам относительная ссылка автоматически корректируется, а абсолютная ссылка не корректируется. Например, при копировании или заполнении смешанной ссылки из ячейки A2 в B3 она будет меняться с =A$1 на =B$1.

Стиль трехмерных ссылок

Удобный способ для ссылки на несколько листов Трехмерные ссылки используются для анализа данных из одной и той же ячейки или диапазона ячеек на нескольких листах одной книги. Трехмерная ссылка содержит ссылку на ячейку или диапазон, перед которой указываются имена листов. Excel в Интернете использует все таблицы, которые хранятся между начальным и конечним именами ссылки. Например, формула =СУММ(Лист2:Лист13!B5) суммирует все значения, содержащиеся в ячейке B5 на всех листах в диапазоне от листа 2 до листа 13 включительно.

При помощи трехмерных ссылок можно создавать ссылки на ячейки на других листах, определять имена и создавать формулы с использованием следующих функций: СУММ, СРЗНАЧ, СРЗНАЧА, СЧЁТ, СЧЁТЗ, МАКС, МАКСА, МИН, МИНА, ПРОИЗВЕД, СТАНДОТКЛОН.Г, СТАНДОТКЛОН.В, СТАНДОТКЛОНА, СТАНДОТКЛОНПА, ДИСПР, ДИСП.В, ДИСПА и ДИСППА.

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

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

<c0>Что происходит при перемещении, копировании, вставке или удалении листов</c0>. Нижеследующие примеры поясняют, какие изменения происходят в трехмерных ссылках при перемещении, копировании, вставке и удалении листов, на которые такие ссылки указывают. В примерах используется формула =СУММ(Лист2:Лист6!A2:A5) для суммирования значений в ячейках с A2 по A5 на листах со второго по шестой.

Вставка или копирование Если вставить листы между листами 2 и 6, Excel в Интернете будет включать в расчет все значения из ячеек с A2 по A5 на добавленных листах.

Удалить Если удалить листы между листами 2 и 6, Excel в Интернете вы вычислите их значения.

Переместить Если переместить листы между листами 2 и 6 в место за пределами диапазона, на который имеется ссылка, Excel в Интернете удалит их значения из вычислений.

Перемещение конечного листа Если переместить лист 2 или 6 в другое место книги, Excel в Интернете скорректирует сумму с учетом изменения диапазона листов.

Удаление конечного листа Если удалить лист 2 или 6, Excel в Интернете скорректирует сумму с учетом изменения диапазона листов между ними.

Стиль ссылок R1C1

Можно использовать такой стиль ссылок, при котором нумеруются и строки, и столбцы. Стиль ссылок R1C1 удобен для вычисления положения столбцов и строк в макросах. В стиле R1C1 Excel в Интернете указывает на расположение ячейки с помощью R, за которым следует номер строки, и C, за которым следует номер столбца.

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

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

Абсолютная ссылка на ячейку, расположенную во второй строке второго столбца

Относительная ссылка на строку, расположенную выше текущей ячейки

Абсолютная ссылка на текущую строку

При записи макроса Excel в Интернете некоторые команды с помощью стиля ссылок R1C1. Например, если записать команду (например, нажать кнопку "Автоумма"), чтобы вставить формулу, в которую добавляется диапазон ячеек, Excel в Интернете записи формулы со ссылками с помощью стиля R1C1, а не A1.

Использование имен в формулах

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

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

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

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

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

Замена формул вычисляемой величиной

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

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

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

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

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

На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.

Щелкните Текущий массив.

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

В следующем примере показана формула в ячейке D2, которая умножает ячейки A2, B2 и скидку из ячейки C2 для расчета суммы счета для продажи. Чтобы скопировать фактическое значение вместо формулы из ячейки на другой книгу или на другой, можно преобразовать формулу в ячейку в ее значение, выстроив следующее:

Нажмите F2, чтобы изменить ячейку.

Нажмите F9, а затем ввод.

В строке формул показана формула.

После преобразования ячейки из формулы в значение в области формул отображается значение 1932,322. Обратите внимание, что 1932,322 — фактическое вычисляемого значения, а 1932,32 — значение, отображаемого в ячейке в валютном формате.

В строке формул показано значение.

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

Замена части формулы значением, полученным при ее вычислении

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

При замене части формулы ее значением ее часть восстановить невозможно.

Щелкните ячейку с формулой.

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

Чтобы вычислить выбранную часть, нажмите F9.

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

В Excel в Интернете результаты уже отображаются в ячейке книги, а формула отображается только в .

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Банальная, на первый взгляд, задача, периодически встречающаяся в работе почти любого пользователя Microsoft Excel – расположить элементы списка в обратном порядке. При всей кажущейся простоте, здесь есть свои "фишки" - давайте разберем несколько вариантов ее решения.

Способ 1. Ручная сортировка по доп.столбцу

Это обычно первое, что приходит в голову. Добавляем рядом с нашим списком еще один столбец с порядковыми номерами и сортируем по этому столбцу по убыванию:

reverse1.jpg
reverse2.jpg

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

Способ 2. Обратный порядок формулой

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

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

reverse3.jpg

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

reverse4.jpg

В этой формуле номер последней занятой ячейки подсчитывается с помощью функции СЧЁТЗ (COUNTA) , т.е. количество элементов в исходном списке может впоследствии меняться.

Минус этого варианта - в исходном списке не должно быть пустых ячеек, т.к. функция СЧЁТЗ тогда неправильно вычислит номер строки последнего элемента. Выходом может стать использование динамического именованного диапазона с автоподстройкой размеров либо хитрой формулы массива:

reverse5.jpg

Как легко заметить, это вариация первого способа, где диапазон взят «с запасом» сразу до сотой строки и номер строки последней заполненной ячейки задается не жестко, а вычисляется с помощью фрагмента МАКС(($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 и скопируйте туда текст макроса:

Теперь, если выделить столбец-список с данными и запустить наш макрос с помощью сочетания Alt+F8 или команды Разработчик - Макросы (Developer - Macros) , то список развернется в обратном порядке прямо в тех же ячейках, т.е. на месте.

Читайте также: