Как посмотреть код формулы в excel
Если ячейка содержит формулу, значение которой не меняется со временем, вы можете преобразовать формулу к данному значению. Это повышает скорость работы больших листов за счет отсутствия лишних расчетов, поскольку обычные значения потребляют меньше памяти, нежели формулы. Например, у вас на листе присутствуют расчеты каких-то данных за прошлый год, когда собирались заказать курсовую. Поскольку эти данные уже не меняются, вы можете спокойно преобразовать их в фиксированные значения. Для того чтобы это сделать, используйте следующие шаги:
- Выберите ячейку, содержащую подлежащую преобразованию формулу.
- Произведите на ней двойной щелчок мыши или используйте кнопку F2 для активации редактирования непосредственно в ячейке.
- Нажмите F9. Формула будет преобразована в значение.
- Нажмите на кнопку Enter. При этом Excel подтвердит изменения.
Если вам часто нужен результат работы одной формулы в различных местах, вы можете использовать для этого следующий прием. Например, ячейка С5 вычисляет некоторое значение. При необходимости использования результата в другой ячейке просто введите в ней формулу =С5. Это наилучшее решение, если вы считаете, что результат формулы может измениться, поскольку при этом Excel автоматически будет обновлять данные в связанных ячейках. Но если вы уверены, что результат работы не поменяется, используйте следующие шаги для быстрого копирования результата формулы:
- Выделите ячейку, содержащую необходимую формулу.
- Скопируйте ячейку (используйте сочетание клавиш Ctrl+С).
- Выберите ячейку или несколько ячеек, в которые необходимо скопировать результат.
- Выберите пункт Главная ленты инструментов, далее активируйте раскрывающийся список действий под кнопкой Вставить и выберите пункт Вставить значения.
Другой метод — это непосредственная вставка ячейки (при этом вставится сама формула), далее активация раскрывающегося списка под кнопкой Вставить и выбор пункта Вставить значения. Если у вас установлено ручное обновление результатов формул, обязательно производите ручной пересчет перед копированием результатов (для этого используйте клавишу F9).
Иногда бывает необходимо с помощью формул узнать о какой-либо ячейке подробную информацию и параметры, чтобы использовать это в расчетах. Например, выяснить число или текст в ячейке или какой числовой формат в ней установлен. Сделать это можно, используя функцию ЯЧЕЙКА (CELL) .
Синтаксис у функции следующий:
=ЯЧЕЙКА( Параметр ; Адрес )
где Адрес - это, понятное дело, ссылка на нужную ячейку, а вот Параметр - это кодовое слово, определяющее какую именно информацию о ячейке мы хотим получить. У этого аргумента несколько возможных значений:
Давайте рассмотрим пару трюков с применением этой функции на практике.
Например, можно получить имя текущего листа формулой, используя функцию ЯЧЕЙКА с параметром "имяфайла" и извлекающей все символы правее закрывающей квадратной скобки:
Или подсветить условным форматированием все незащищенные ячейки в заданном диапазоне:
Ссылки по теме
А я нашел на соседнем форуме другое решение отображения имени листа в конкретной ячейке
=--ПОДСТАВИТЬ(ПРАВБ(ЯЧЕЙКА("filename";A1);2);"]";)
Данное решение было нужно для отображения в ячейке L1 таблицы названия листа. Листы были переименованы от 1 до 53 по возможному количеству недель по ISO. На первом листе в ячейке J3 внесено начало конкретного года. Теперь внеся допустим в ячейку G4 формулу
=$J$3+L1*7-6 имеем дату начала конкретной недели, указанной в ячейке L1, а в любой другой формулой =G4+4 имеем дату окончания 5 дневной рабочей недели.
Очень удобно для составления еженедельных докладов, отчетов и тд.
А что такое ПРАВБ ? Имелось ввиду ПРАВСИМВ ?
И это будет работать только с числовыми именами листов, кстати.
Добрый день Николай! Да, изначально требовалось, чтобы имена листов имели цифровые наименования недель по ISO. Просто созданные отчетные файлы абсолютно идентичны, отличаются только годом и соответственно конкретными датами начала - окончания недель, при 5 дневной рабочей неделе.
Заметьте, если в формуле =G4+4 прибавить не 4, а 5 то получаем 6 дневную рабочую неделю, так как исходя из отображенного названия листа в виде цифры в ячейке G4 высчитывается дата начала недели (имеется в виду понедельник).
А функция ПРАВБ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа байтов.
Функция ПРАВСИМВ предназначена для языков с однобайтовой кодировкой, а ПРАВБ — для языков с двухбайтовой кодировкой.
Не буду спорить, что конкретно лучше. Но дорога была ложка к обеду.
Ага, ясно. ПРАВБ вместо ПРАВСИМВ тут исключительно для сокращения длины формулы - не использовал ее ни разу на практике, признаюсь
Николай! Добрый день!
А если есть некоторое количество ячеек, условным форматированием отображенных шрифтом с красным цветом, их можно как то подсчитать?
Прошу прощения, решил вопрос на форуме.
Николай, очень красивое решение с подсветкой незащищенных ячеек через «Условное форматирование»!
Беру на практику. Спасибо!
Еще в Excel есть функция с похожим интерфейсом ИНФОРМ
Максимум, что интересного она умеет (на мой взгляд):
=ИНФОРМ("ВЕРСИЯ") – какая версия Excel?
=ИНФОРМ("ПЕРЕВЫЧИСЛИТЬ") -- как происходим пересчет листа?
Определение версии очень полезный метод при разработке решений в Excel..
Например, сейчас в Excel 2016 появилось много аналитических инструментов уровня Self-Service BI (это надстройки Power (Query / Pivot / View / Map) которые не работают полностью или частично в предыдущих версиях Excel.
Есть excell файл (.xlsm) в котором срабатывает программа: генерация случайных чисел в определенных ячейках при сохранении документа. Возникла необходимость внести изменения в программу. Но не могу никак вывести код. Вкладка Разработчик есть, параметр "Включить все макросы (не рекомендуется, возможен запуск опасной программы)" выбран. Но в окне макросов пусто. И при Alt F11 тоже пустое окно открывается. Подскажите, пожалуйста, как открыть код?
Знания экселя на самом примитивном уровне.
Нужно нажать Alt+F11, потом слева дважды кликнуть по названию файла. Может запроситься пароль или сразу открыться дерево структуры файла (книга, листы, модули, формы и тд). Затем нужно двойным кликом последовательно выбирать элементы структуры. При наличии кода у элемента, Вы его увидите. Если кода нет, значит он может быть в другой книге, надстройке или персональной книге с макросами.
А где именно слева? Слева ничего нет. Есть название файла на самом верху окна. Клик по нему просто раширяет/сужает само окно. И меню плюс набор иконок.
Если код где-то в другом месте, то как макрос работает в этой книге? Он же реально отрабатывается.
И как понять где все-таки код?
BasiC2k, добралась вот до такого:
перебрала всё, что в правом селекте. Пусто. Там даже нет выбора опции, похожей на то что надо: типа BeforeSave :(
NataliaCh, попробуйте взглянуть
и
Удалось найти код в списке "ЭтаКнига"
Чтобы функции и команды, которые содержит код XLL, были доступны в Microsoft Excel, они:
должны быть экспортированы XLL;
является ли она скрытой или, если речь идет о функции, будет ли она отображаться в мастере функций;
можно ли будет ее вызвать только с листа макроса XLM или также с обычного листа;
если это команда, является ли она функцией листа или эквивалентной функцией листа макроса;
каким будет ее имя в операции экспорта XLL/DLL и какое имя следует использовать в Excel.
Если это функция:
какие типы данных она возвращает и принимает в качестве аргументов;
будет ли она возвращать свой результат, изменяя аргумент на месте;
является ли она постоянной;
является ли она потокобезопасной (поддерживается начиная с Excel 2007);
какой текст мастер вставки функций и редактор автозаполнения должны отображать для поддержки при вызове функции;
к какой категории функций она должна относиться.
Все это реализуется с помощью функции C API xlfRegister, эквивалентной функции XLM REGISTER.
Вызов функций XLL непосредственно из Excel
После регистрации функции листа макроса и листа XLL можно вызывать из любого расположения, откуда можно вызвать встроенную функцию:
из формулы массива или одной ячейки на листе;
из формулы массива или одной ячейки на листе макроса;
из определения имени;
из полей условий и ограничений в диалоговом окне условного форматирования;
из других надстроек через функцию C API xlUDF;
Можно получить ссылку на ячейку или диапазон ячеек вызова в нужной функции с помощью функции C API xlfCaller. Если функция вызывалась из выражения условного форматирования ячейки, все равно возвращается ссылка на связанную ячейку или несколько ячеек, поэтому нельзя предположить, что формула с ячейкой содержит функцию XLL. Если функция вызывалась из пользовательской функции VBA (UDF), xlfCaller также возвращает адрес ячеек, которые вызывали функцию VBA. Дополнительные сведения см. в статье xlfCaller.
Excel также вызывает код функции XLL из диалоговых окон Мастер вставки функции и Замена. Может потребоваться ограничить обычное выполнение вашего кода в случае диалогового окна Вставка аргументов функции, особенно в тех случаях, когда выполнение функции может занять много времени. Чтобы обнаружить, вызывается ли функция из одного из таких диалоговых окон, необходимо реализовать в проекте код, который будет просматривать все открытые окна, чтобы определить, является ли окно переднего плана одним из таких диалоговых окон, и, если да, какое именно.
Вызов команд XLL непосредственно из Excel
После регистрации команды XLL можно вызывать всеми способами, которыми можно вызвать другие пользовательские макросы:
посредством связывания с объектом элемента управления, встроенным в лист;
из диалогового окна "Выполнить макрос";
из настраиваемого элемента меню или панели инструментов;
с помощью сочетаний клавиш, заданных при регистрации команды;
в качестве команды, которую следует выполнять при обработке указанного события.
Команды XLL являются скрытыми таким образом, что они не отображаются в списке доступных макросов в диалоговых окнах Excel. Но они могут быть введены вручную в поле имени макроса. В таких диалоговых окнах необходимо вводить заданное при регистрации имя, а не имя экспорта DLL.
Excel игнорирует возвращаемое значение, если оно не вызывается с листа макросов XLM. В этом случае возвращаемое значение преобразуется в значение TRUE или FALSE. Таким образом, следует возвращать значение 1, если команда выполнена успешно, и 0, если она завершилась с ошибкой или была отменена пользователем.
Можно получить сведения о том, как команда была вызвана, с помощью функции C API xlfCaller. Дополнительные сведения см. в статье xlfCaller.
Начиная с Excel 2007 пользовательский интерфейс существенно отличается от более ранних версий. В большинстве случаев по-прежнему поддерживаются функции C API, позволяющие выполнять операции добавления и удаления настраиваемых строк меню, меню, вложенных меню, элементов меню, настраиваемых панелей инструментов и кнопок панели инструментов. Тем не менее они не всегда могут обеспечить доступность добавляемого элемента способом, который знаком вашим пользователям. Следует тщательно проверить, является ли добавленная функция по-прежнему доступной, или реализовать пользовательскую настройку под определенную версию. Начиная с Excel 2007 пользовательский интерфейс лучше всего настраивать с использованием модуля управляемого кода, который затем можно тесно связать с вашими командами XLL.
Начните создавать формулы и использовать встроенные функции, чтобы выполнять расчеты и решать задачи.
Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.
Важно: В этой статье мы обсудим похожие проблемы с просмотром и просмотром. Попробуйте использовать новую функцию ПРОСМОТРX , улучшенную версию функции ВЛОП, которая работает в любом направлении и по умолчанию возвращает точные совпадения, что упрощает и удобнее в использовании, чем предшественницу.
Создание формулы, ссылающейся на значения в других ячейках
Введите знак равенства " ocpAlert">
Примечание: Формулы в Excel начинаются со знака равенства.
Выберите ячейку или введите ее адрес в выделенной.
Введите оператор. Например, для вычитания введите знак "минус".
Выберите следующую ячейку или введите ее адрес в выделенной.
Нажмите клавишу ВВОД. В ячейке с формулой отобразится результат вычисления.
Просмотр формулы
При вводе в ячейку формула также отображается в строке формул.
Чтобы просмотреть формулу, выделите ячейку, и она отобразится в строке формул.
Ввод формулы, содержащей встроенную функцию
Выделите пустую ячейку.
Введите знак равенства "=", а затем — функцию. Например, чтобы получить общий объем продаж, нужно ввести "=СУММ".
Введите открывающую круглую скобку "(".
Выделите диапазон ячеек, а затем введите закрывающую круглую скобку ")".
Нажмите клавишу ВВОД, чтобы получить результат.
Скачивание книги "Учебник по формулам"
Мы подготовили для вас книгу Начало работы с формулами, которая доступна для скачивания. Если вы впервые пользуетесь Excel или даже имеете некоторый опыт работы с этой программой, данный учебник поможет вам ознакомиться с самыми распространенными формулами. Благодаря наглядным примерам вы сможете вычислять сумму, количество, среднее значение и подставлять данные не хуже профессионалов.
Подробные сведения о формулах
Чтобы узнать больше об определенных элементах формулы, просмотрите соответствующие разделы ниже.
Формула также может содержать один или несколько таких элементов, как функции, ссылки, операторы и константы.
Части формулы
1. Функции. Функция ПИ() возвращает значение числа пи: 3,142.
2. Ссылки. A2 возвращает значение ячейки A2.
3. Константы. Числа или текстовые значения, введенные непосредственно в формулу, например 2.
4. Операторы. Оператор ^ (крышка) применяется для возведения числа в степень, а * (звездочка) — для умножения.
Ссылка указывает на ячейку или диапазон ячеек листа и сообщает Microsoft 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
Создание ссылки на ячейку или диапазон ячеек с другого листа в той же книге
В приведенном ниже примере функция СРЗНАЧ вычисляет среднее значение в диапазоне B1:B10 на листе "Маркетинг" в той же книге.
1. Ссылка на лист "Маркетинг".
2. Ссылка на диапазон ячеек от B1 до B10
3. Восклицательный знак (!) отделяет ссылку на лист от ссылки на диапазон ячеек.
Примечание: Если название упоминаемого листа содержит пробелы или цифры, его нужно заключить в апострофы ('), например так: '123'!A1 или ='Прибыль за январь'!A1.
Различия между абсолютными, относительными и смешанными ссылками
Относительные ссылки . Относительная ссылка в формуле, например A1, основана на относительной позиции ячейки, содержащей формулу, и ячейки, на которую указывает ссылка. При изменении позиции ячейки, содержащей формулу, изменяется и ссылка. При копировании или заполнении формулы вдоль строк и вдоль столбцов ссылка автоматически корректируется. По умолчанию в новых формулах используются относительные ссылки. Например, при копировании или заполнении относительной ссылки из ячейки B2 в ячейку B3 она автоматически изменяется с =A1 на =A2.
Скопированная формула с относительной ссылкой
Абсолютные ссылки . Абсолютная ссылка на ячейку в формуле, например $A$1, всегда ссылается на ячейку, расположенную в определенном месте. При изменении позиции ячейки, содержащей формулу, абсолютная ссылка не изменяется. При копировании или заполнении формулы по строкам и столбцам абсолютная ссылка не корректируется. По умолчанию в новых формулах используются относительные ссылки, а для использования абсолютных ссылок надо активировать соответствующий параметр. Например, при копировании или заполнении абсолютной ссылки из ячейки B2 в ячейку B3 она остается прежней в обеих ячейках: =$A$1.
Скопированная формула с абсолютной ссылкой
Смешанные ссылки . Смешанная ссылка содержит либо абсолютный столбец и относительную строку, либо абсолютную строку и относительный столбец. Абсолютная ссылка на столбец имеет вид $A1, $B1 и т. д. Абсолютная ссылка на строку имеет вид A$1, B$1 и т. д. Если положение ячейки с формулой изменяется, относительная ссылка меняется, а абсолютная — нет. При копировании или заполнении формулы по строкам и столбцам относительная ссылка автоматически изменяется, а абсолютная ссылка не корректируется. Например, при копировании или заполнении смешанной ссылки из ячейки A2 в ячейку B3 она автоматически изменяется с =A$1 на =B$1.
Скопированная формула со смешанной ссылкой
Стиль трехмерных ссылок
Удобный способ для ссылки на несколько листов . Трехмерные ссылки используются для анализа данных из одной и той же ячейки или диапазона ячеек на нескольких листах одной книги. Трехмерная ссылка содержит ссылку на ячейку или диапазон, перед которой указываются имена листов. В Microsoft Excel используются все листы, указанные между начальным и конечным именами в ссылке. Например, формула =СУММ(Лист2:Лист13!B5) суммирует все значения, содержащиеся в ячейке B5 на всех листах в диапазоне от Лист2 до Лист13 включительно.
При помощи трехмерных ссылок можно создавать ссылки на ячейки на других листах, определять имена и создавать формулы с использованием следующих функций: СУММ, СРЗНАЧ, СРЗНАЧА, СЧЁТ, СЧЁТЗ, МАКС, МАКСА, МИН, МИНА, ПРОИЗВЕД, СТАНДОТКЛОН.Г, СТАНДОТКЛОН.В, СТАНДОТКЛОНА, СТАНДОТКЛОНПА, ДИСПР, ДИСП.В, ДИСПА и ДИСППА.
Трехмерные ссылки нельзя использовать в формулах массива.
Трехмерные ссылки нельзя использовать вместе с оператор пересечения (один пробел), а также в формулах с неявное пересечение.
Что происходит при перемещении, копировании, вставке или удалении листов . Нижеследующие примеры поясняют, какие изменения происходят в трехмерных ссылках при перемещении, копировании, вставке и удалении листов, на которые такие ссылки указывают. В примерах используется формула =СУММ(Лист2:Лист6!A2:A5) для суммирования значений в ячейках с A2 по A5 на листах со второго по шестой.
Вставка или копирование . Если вставить листы между листами 2 и 6, Microsoft Excel прибавит к сумме содержимое ячеек с A2 по A5 на новых листах.
Удаление . Если удалить листы между листами 2 и 6, Microsoft Excel не будет использовать их значения в вычислениях.
Перемещение . Если листы, находящиеся между листом 2 и листом 6, переместить таким образом, чтобы они оказались перед листом 2 или после листа 6, Microsoft Excel вычтет из суммы содержимое ячеек с перемещенных листов.
Перемещение конечного листа . Если переместить лист 2 или 6 в другое место книги, Microsoft Excel скорректирует сумму с учетом изменения диапазона листов.
Удаление конечного листа . Если удалить лист 2 или 6, Microsoft Excel скорректирует сумму с учетом изменения диапазона листов.
Стиль ссылок R1C1
Можно использовать такой стиль ссылок, при котором нумеруются и строки, и столбцы. Стиль ссылок R1C1 удобен для вычисления положения столбцов и строк в макросах. При использовании стиля R1C1 в Microsoft Excel положение ячейки обозначается буквой R, за которой следует номер строки, и буквой C, за которой следует номер столбца.
относительная ссылка на ячейку, расположенную на две строки выше в том же столбце
Относительная ссылка на ячейку, расположенную на две строки ниже и на два столбца правее
Абсолютная ссылка на ячейку, расположенную во второй строке второго столбца
Относительная ссылка на строку, расположенную выше текущей ячейки
Абсолютная ссылка на текущую строку
При записи макроса в Microsoft Excel для некоторых команд используется стиль ссылок R1C1. Например, если записывается команда щелчка элемента Автосумма для вставки формулы, суммирующей диапазон ячеек, в Microsoft Excel при записи формулы будет использован стиль ссылок R1C1, а не A1.
Чтобы включить или отключить использование стиля ссылок R1C1, установите или снимите флажок Стиль ссылок R1C1 в разделе Работа с формулами категории Формулы в диалоговом окне Параметры. Чтобы открыть это окно, перейдите на вкладку Файл.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Читайте также: