Как посмотреть код формулы в excel

Обновлено: 07.07.2024

Часто ли Вам приходилось разбирать чужой файл с непонятными на первый взгляд формулами? Вроде считают, но как? Вроде и разобраться хочется как работает какая-нибудь мега-формула - но как это сделать? Я хочу рассказать о паре простых шагов, которые необходимо сделать, чтобы разобраться в работе любой формулы. Давайте попробуем разобраться на примере формулы из моей статьи: Как получить список уникальных(не повторяющихся) значений?:
=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))
Что нам понадобится для начала:

Tips_All_ExtractUnique.xls (108,0 KiB, 17 229 скачиваний)

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

Вот теперь можно начать потрошить формулу. В принципе, самый сложный этап уже пройден. Теперь остается только воспользоваться встроенным средством Excel - окно просмотра этапов вычислений формулы. Выделяем ячейку с нужной формулой и:
для пользователей Excel 2007 и более поздних версий:
вкладка Формулы-группа кнопок Зависимости формул-Вычислить формулу (Formulas-Formula Auditing-Evaluate Formula)
для пользователей Excel 2003:
Сервис-Зависимости формул-Вычислить формулу

Появится форма

После каждого нажатия на кнопку Вычислить (Evaluate) будет произведен очередной этап вычислений формулы и в окне формы будет отображен этот этап. Вычисляемая в текущий момент часть формулы(этап) подчеркивается одинарной линией.
Что следует знать: сначала вычисляется самая глубоко вложенная функция, а уже потом самая первая. Самая первая и основная функция у нас будет ИНДЕКС , а самая глубоко вложенная - СЧЁТЕСЛИ . Поэтому на примере нашей формулы следующим этапом будет вычисление функции СЧЁТЕСЛИ и в скобках будет показан результат для этой функции: . Т.е. для каждого значения диапазона $A$2:$A$51 будет выведено количество - сколько раз это значение встречается в диапазоне $C$1:C1 . Т.к. это первая строка формулы - то будут все нули:

Далее будет произведено вычисление логического выражения =0 : сравнение результата функции СЧЁТЕСЛИ с нулем. Результатом будет ИСТИНА или ЛОЖЬ.

Этот результат(ИСТИНА, ЛОЖЬ) обрабатывается далее функцией ЕСЛИ . А в ЕСЛИ у нас условие: если СЧЁТЕСЛИ равно нулю (т.е. если результат ИСТИНА), то в ЕСЛИ возвращаем номер строки( СТРОКА($A$1:$A$50) ), если нет - то вернет ЛОЖЬ.

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

Чтобы в этом примере было более просто разобраться(насколько это возможно), коротко расскажу о принципе работы этой формулы: если значение из диапазона $A$2:$A$51 встречается в диапазоне вывода формулы(на строку выше) $C$1:C1 , то СЧЁТЕСЛИ вернет не нулевое значение и получится ЛОЖЬ. Если такого значения ещё нет - будет нуль и в НАИМЕНЬШИЙ будет передан номер строки. А уже номер строки передается в ИНДЕКС , которая возвращает непосредственно значение по номеру строки. Чтобы более точно понять подобные формулы надо рассмотреть не только формулу из первой ячейки, но и пару следующих.

Помимо кнопки Вычислить в этом окне есть и другие: Шаг с заходом (Step In) и Шаг с выходом (Step Out) . Делают они почти тоже самое, но доступны не для всех видов формул, а лишь для тех, в которых участвуют ссылки на ячейки с другими функциями. Если вычисляемая в настоящий момент функция содержит внутри ссылку на ячейку, в которой записана другая функция или формула - то Шаг с заходом (Step In) выводит в окно вычисления эту функцию(формулу) и активирует ячейку с этой формулой. При этом доступна эта кнопка становится лишь тогда, когда при вычислении основной формулы шаг вычисления доходит до этой самой ссылки на вложенную формулу. Шаг с выходом (Step Out) при этом возвращает к вычислению предыдущей формулы.

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

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

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

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

Есть excell файл (.xlsm) в котором срабатывает программа: генерация случайных чисел в определенных ячейках при сохранении документа. Возникла необходимость внести изменения в программу. Но не могу никак вывести код. Вкладка Разработчик есть, параметр "Включить все макросы (не рекомендуется, возможен запуск опасной программы)" выбран. Но в окне макросов пусто. И при Alt F11 тоже пустое окно открывается. Подскажите, пожалуйста, как открыть код?
Знания экселя на самом примитивном уровне.

  • Вопрос задан более двух лет назад
  • 3034 просмотра

BasiC2k

Нужно нажать Alt+F11, потом слева дважды кликнуть по названию файла. Может запроситься пароль или сразу открыться дерево структуры файла (книга, листы, модули, формы и тд). Затем нужно двойным кликом последовательно выбирать элементы структуры. При наличии кода у элемента, Вы его увидите. Если кода нет, значит он может быть в другой книге, надстройке или персональной книге с макросами.

5cbecb05dd1a1799572640.jpg

А где именно слева? Слева ничего нет. Есть название файла на самом верху окна. Клик по нему просто раширяет/сужает само окно. И меню плюс набор иконок.

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


Если код где-то в другом месте, то как макрос работает в этой книге? Он же реально отрабатывается.
И как понять где все-таки код?

BasiC2k

5cbee000d4566409276459.jpg

BasiC2k, добралась вот до такого:

перебрала всё, что в правом селекте. Пусто. Там даже нет выбора опции, похожей на то что надо: типа BeforeSave :(


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

Как увидеть код Win API?
Здравствуйте. Есть ли возможность увидеть коды функций Win API?

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

Как увидеть php код другого сайта?
Как увидеть php код другого сайта?

Не уверен, что ТС имел в виду это:

Где можно найти описание, значения параметров всех стандратных функций, процедур (написанных в виде кода VBA). Может что-то вроде справочника. Понятно что все это по отдельности можно найти в поисковике, но все же. Некоторые внутренние функции VBA - дает подсказку и они есть в его help-е (Shift+F2), но описания на эти команды отсутствуют:

. = Find (. - поиск на листе, здесь много параметров

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

Погарячился
оказывается во встроенном хелпе есть. Выделяем любую простенькую команду, Shift+F2, вводим в поле поиска команду "find", выделяем нужное свойство, например "Excel WorkSheetFunction Find" и нажимаем значек вопроса.

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

Решение

проблема вот чем . что нужно увидеть код екселивських функций Да проще простого. Дизассемблируйте ВСЕ(!) екселевкие(а лучше все офисные) библиотеки и ищите нужную функцию. Не беда, что там наверняка применено еще и шифрование кода - по сути это все тот же ассемблер, так что трудностей возникнуть не должно:-) То, что Вы показывали на скриншоте, является надстройками XLA, защищенными от просмотра исходного кода правообладателем.
Раскрытие кода с Вашей стороны будет называться пиратством.


Как можно увидеть написанный код VS в виде кода ассемблера?
Добрый день! Как можно увидеть написанный код VS в виде ассемблера?

Как оформить код, чтобы можно было визуально увидеть движение анода по спирали?
Всем привет! Ребята, помогите плиз с задачей. На картинке представлены два объекта (синий - это.


Как увидеть "реальный" исходный код?
Привет! Хочу большего понимая работы async/await. Много где описано, что эти ключевые слова.

Увидеть код ВБА
здравствуйте, есть файл, который при открытии удаляет модуль с макросами, открыл его а код уже.

Работа с формулами в Excel

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

Я разберу основы работы с формулами и полезные «фишки», способные упростить процесс взаимодействия с таблицами.

Поиск перечня доступных функций в Excel

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

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

Откройте вкладку «Формулы» и нажмите на кнопку «Вставить функцию» либо разверните список с понравившейся вам категорией функций.

Кнопка добавления для работы с формулами в Excel

Вместо этого всегда можно кликнуть по значку с изображением «Fx» для открытия окна «Вставка функции».

Выбор полного перечня для работы с формулами в Excel

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

Просмотр описания функций для работы с формулами в Excel

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

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

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

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

Вставка функции в таблицу

Использование графического меню для работы с формулами в Excel

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

Использование математических операций в Excel

Если необходимо выполнить математические действия с ячейками или конкретными числами, в Excel тоже создается формула, поскольку все записи, начинающиеся с «=» в ячейке, считаются функциями. Все знаки для математических операций являются стандартными, то есть «*»– умножить, «/» – разделить и так далее. Следует отметить, что для возведения в степень используется знак «^». Вкратце рассмотрим объявление подобных функций.

Выделите любую пустую ячейку и напишите в ней знак «=», объявив тем самым функцию. В качестве значения можете взять любое число, написать номер ячейки (используя буквенные и цифровые значения слева и сверху) либо выделить ее левой кнопкой мыши. На следующем скриншоте вы видите простой пример =B2*C2, то есть результатом функции будет перемножение указанных ячеек друг на друга.

Математические операции для работы с формулами в Excel

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

Результат математической операции для работы с формулами в Excel

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

Растягивание функций и обозначение константы

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

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

Растягивание функции для работы с формулами в Excel

В итоге вы должны увидеть, что функция растянулась на выбранный диапазон, а значения в ней подставлены автоматически. Так, изначальная функция имела вид =B2*C2, но после растягивания вниз последующие значения подставились автоматически (от B3*C3 до B13*C13, что видно на следующем изображении). Точно так же растягивание работает с СУММ и другими простыми формулами, где используется несколько аргументов.

Результат растягивания для работы с формулами в Excel

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

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

Объявление константы для работы с формулами в Excel

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

Растягивание функции с константой для работы с формулами в Excel

В закрепление темы рассмотрим три константы, которые можно обозначить при записи функции:

$В$2 – при растяжении либо копировании остаются постоянными столбец и строка.

B$2 – неизменна строка.

$B2 – константа касается только столбца.

Построение графиков функций

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

Составление графика функции для работы с формулами в Excel

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

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