Как посмотреть формулу в excel
Как показать формулы в ячейках Excel и найти ошибки в расчетах
Здравствуйте, друзья. Сегодня я покажу вам, как отобразить в ячейках Excel формулы вместо результатов их вычисления. Казалось бы, зачем это может понадобиться? Я использую этот метод, чтобы:
- Найти ошибки в расчетах
- Разобраться, как произведены подсчеты
- Проверить, все ли нужные ячейки содержат формулы, или где-то они заменены числом
- В других случаях, когда это может пригодиться
Для начала, мы научимся отображать все формулы на экране, а потом попытаемся это с пользой применить.
Как показать формулы в ячейках
Чтобы показать формулы, предложу два варианта:
- Нажмите комбинацию клавиш Ctrl+` . Если не найдете кнопку апострофа, она расположена под клавишей Esc . По нажатию должны отобразиться все формулы вместо результатов вычисления. Однако, это может и не произойти. Если комбинация не работает, скорее всего нужно менять язык ввода Windows по молчанию на английский. Но в этой статье не буду детальнее описывать, ведь есть альтернативные методы. Так что, если горячие клавиши не сработали, переходим ко второму пункту
- Выполним на ленте Файл — Параметры — Дополнительно — Параметры отображения листа — Показывать формулы, а не их значения . Установим галку, чтобы показать формулы. Снимем её, чтобы снова отобразить результаты.
Если комбинация клавиш не работает, а нужно переключаться часто — есть еще один способ: назначить комбинацию с помощью макроса. Если Вам это интересно — пишите в комментариях, обязательно расскажу, как это сделать.
А теперь переходим к примеру. Посмотрим, как можно искать ошибки, отображая все формулы.
Поиск ошибок с помощью отображения формул
В одной из статей блога я рассказывал о расчете аннуитетного кредита, т.е. займа с фиксированным ежемесячным платежом. В следующем примере мы попытались рассчитать платежи помесячно с расшифровкой: погашение тела кредита и оплата процентов. В сумме эти два показателя будут давать ежемесячный платеж.
Взгляните на рисунок с примером выше. В таблице «Исходные данные» указана сумма кредита (10 тыс. Евро), годовая ставка и срок погашения. В таблице «Платежи по периодам» я предусмотрел такие колонки:
- Номер периода — перечень от 1 до 12, соответствующий каждому из платежей по кредиту
- Основной платеж — сумма на погашение тела кредита в данном периоде. Рассчитана с помощью функции ОСПЛТ
- Проценты — оплата процентов по кредиту в указанном периоде. Посчитана функцией ПРПЛТ .
Для первого периода я записал формулы вручную, а потом скопировал их в оставшиеся ячейки. Как видим на рисунке, проценты вычислены корректно, а вот с основным платежом проблемы. Начиная со второго периода, формулы возвращают или неверный результат, или ошибку. Очевидно, что проблема в расчетах есть в целой группе ячеек. Пришло время взглянуть на формулы. Воспользуемся одним из предложенных выше способов и пробуем анализировать то, что видим.
Мне сразу бросилось в глаза, что в формуле ОСПЛТ последний аргумент ссылается величину кредита. То есть, там всегда должны быть наши 10 тыс. Евро, записанные в ячейке В2. А во втором периоде формула почему-то ссылается уже на В3, в третьем — на В4 и так далее. То есть, я применил относительные ссылки вместо абсолютных, и они «поползли» вниз при копировании формулы вниз. Если Вы не знаете, что такое относительные и абсолютные ссылки — прочтите здесь — это очень важная информация для пользователя Эксель. Исправим формулы. Проставлю знаки доллара в ссылке перед цифрой и буквой, скопирую во все строки. Получилось вот так:
Других проблем с формулами я не заметил. Отключаем вывод формул, посмотрим на результаты:
Ура, теперь всё хорошо. Результаты вычислений правдоподобны, т.е. правильные.
Как видите, получив некорректные результаты, мы не поддались панике, а применили «научный» подход и очень быстро получили результат. Берите этот метод в свою копилку навыков, это один из самых быстрых способов найти ошибку.
Спасибо за то, что посетили мой блог. Подписывайтесь на обновления и всегда будете в курсе самых свежих уроков. До встречи!
Как просмотреть этапы вычисления формул
Часто ли Вам приходилось разбирать чужой файл с непонятными на первый взгляд формулами? Вроде считают, но как? Вроде и разобраться хочется как работает какая-нибудь мега-формула — но как это сделать? Я хочу рассказать о паре простых шагов, которые необходимо сделать, чтобы разобраться в работе любой формулы. Давайте попробуем разобраться на примере формулы из моей статьи: Как получить список уникальных(не повторяющихся) значений?:
=ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))
Что нам понадобится для начала:
- Знать что такое формула
- Знать что такое формула массива
- Не лениться заглядывать в справку по неизвестной функции. Как это сделать: ставим курсор мыши на интересующую формулу и жмем F1(в Excel 2003 и более ранних версиях только так можно). Начиная с Excel 2007 можно еще и иначе: ставим курсор внутрь функции — появится подсказка по функции. После чего нажимаем на имя функции из подсказки:
Чем это поможет? Чтобы понять как работает формула в целом, необходимо знать, что делает каждая функция в неё вложенная и для чего предназначены её аргументы хотя бы в общих чертах. - Не обязательно, но желательно скачать файл, приложенный к статье Как получить список уникальных(не повторяющихся) значений?, чтобы наглядно пройти все шаги, описанные ниже
Скачать пример:
Tips_All_ExtractUnique.xls (108,0 KiB, 14 981 скачиваний)
Если Вы не знакомы с функциями, используемыми в приведенной выше формуле и хотите разобраться — необходимо просмотреть справку по ним, иначе работу формулы не поймете даже с пояснениями
Вот теперь можно начать потрошить формулу. В принципе, самый сложный этап уже пройден. Теперь остается только воспользоваться встроенным средством Excel — окно просмотра этапов вычислений формулы. Выделяем ячейку с нужной формулой и:
для пользователей Excel 2007 и более поздних версий:
вкладка Формулы-группа кнопок Зависимости формул—Вычислить формулу (Formulas—Formula Auditing—Evaluate Formula)
для пользователей Excel 2003:
Сервис—Зависимости формул—Вычислить формулу
Появится форма
После каждого нажатия на кнопку Вычислить (Evaluate) будет произведен очередной этап вычислений формулы и в окне формы будет отображен этот этап. Вычисляемая в текущий момент часть формулы(этап) подчеркивается одинарной линией.
Что следует знать: сначала вычисляется самая глубоко вложенная функция, а уже потом самая первая. Самая первая и основная функция у нас будет ИНДЕКС , а самая глубоко вложенная — СЧЁТЕСЛИ . Поэтому на примере нашей формулы следующим этапом будет вычисление функции СЧЁТЕСЛИ и в скобках будет показан результат для этой функции: <0:0:0:0:0 . 0:0:0>. Т.е. для каждого значения диапазона $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. Выделенный блок формулы будет вычислен и результат будет помещен на место выделенного блока формулы:
Мне этот метод нравится меньше, т.к. он не показывает именно шаги вычисления, а вычисляет разом выделенный блок. Поэтому его можно применять в случаях, когда порядок вычисления известен и надо лишь убедиться, что интересующий блок формулы работает правильно.
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Здравствуйте! Подскажите пожалуйста новичку! Почему при добавление новой строки перед массивом (Главная-> Вставить -> Вставить строки на лист) Все значения в формуле =ИНДЕКС($A$2:$A$51;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$2:$A$51)=0;СТРОКА($A$1:$A$50));1))
меняются на новые:
=ИНДЕКС($A$3:$A$52;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$1:C1;$A$3:$A$52)=0;СТРОКА($A$1:$A$51));1))
корректирую до таких:
=ИНДЕКС($A$3:$A$52;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ($C$2:C2;$A$3:$A$52)=0;СТРОКА($A$2:$A$52));1)),
а формула не работает?
Заранее благодарен за помощь!
Только вот вы забыли упомянуть тот факт, что ИНДЕКС работает с номерами строк из указанного массива, а СТРОКА с номерами строк самого рабочего листа. Поэтому нельзя так просто взять и указать одинаковые диапазоны в этих двух функциях.
СТРОКА с номерами строк самого рабочего листа. Поэтому нельзя так просто взять и указать одинаковые диапазоны в этих двух функциях
Изучите для начала мат.часть. Функция СТРОКА вернет номер строки листа, если не указано аргументов. Но если указан аргумент(ссылка на ячейку/диапазон) — функция вернет номер строки именно указанной ячейки. И приведенная мной формула, которая разбирается в статье работает на все 100%, что говорит о том, что все же можно вот так взять и указать одинаковые диапазоны в этих двух функциях. Главное понимать для чего это делается.
Интересное решение, но мне кажется более наглядным потрошить формулу руками, разделяя её по ячейкам. Тогда можно рядом с каждой описать смысл конкретного куска и понять общий механизм формулы, модифицировать. ну, или выявить ошибки. Может есть какой-то макрос, который бы раскидывал формулу таким образом (без описания, естественно).
Microsoft Excel
трюки • приёмы • решения
Как показать формулу на листе Excel и преобразовать ее в значение
По умолчанию Excel показывает в ячейке результат выполнения формулы вместо самой формулы. Если вам необходимо просмотреть саму формулу, вы можете Просто выделить необходимую ячейку и посмотреть на строку ввода формулы. Однако иногда бывает необходимо просмотреть одновременно вес формулы на листе (к примеру, когда необходимо исправить какую-то серьезную ошибку в вычислениях).
Для осуществления этого действия перейдите на вкладку Формулы ленты инструментов Excel и нажмите на кнопку Показать формулы. Также вы можете использовать сочетание Ctrl+`.
Если ячейка содержит формулу, значение которой не меняется со временем, вы можете преобразовать формулу к данному значению. Это повышает скорость работы больших листов за счет отсутствия лишних расчетов, поскольку обычные значения потребляют меньше памяти, нежели формулы. Например, у вас на листе присутствуют расчеты каких-то данных за прошлый год, когда собирались заказать курсовую. Поскольку эти данные уже не меняются, вы можете спокойно преобразовать их в фиксированные значения. Для того чтобы это сделать, используйте следующие шаги:
- Выберите ячейку, содержащую подлежащую преобразованию формулу.
- Произведите на ней двойной щелчок мыши или используйте кнопку F2 для активации редактирования непосредственно в ячейке.
- Нажмите F9. Формула будет преобразована в значение.
- Нажмите на кнопку Enter. При этом Excel подтвердит изменения.
Если вам часто нужен результат работы одной формулы в различных местах, вы можете использовать для этого следующий прием. Например, ячейка С5 вычисляет некоторое значение. При необходимости использования результата в другой ячейке просто введите в ней формулу =С5. Это наилучшее решение, если вы считаете, что результат формулы может измениться, поскольку при этом Excel автоматически будет обновлять данные в связанных ячейках. Но если вы уверены, что результат работы не поменяется, используйте следующие шаги для быстрого копирования результата формулы:
- Выделите ячейку, содержащую необходимую формулу.
- Скопируйте ячейку (используйте сочетание клавиш Ctrl+С).
- Выберите ячейку или несколько ячеек, в которые необходимо скопировать результат.
- Выберите пункт Главная ленты инструментов, далее активируйте раскрывающийся список действий под кнопкой Вставить и выберите пункт Вставить значения.
Другой метод — это непосредственная вставка ячейки (при этом вставится сама формула), далее активация раскрывающегося списка под кнопкой Вставить и выбор пункта Вставить значения. Если у вас установлено ручное обновление результатов формул, обязательно производите ручной пересчет перед копированием результатов (для этого используйте клавишу F9).
10 формул Excel, которые пригодятся каждому
Не нужно тратить время на подсчёты в Microsoft Excel вручную, ведь существует множество формул, которые помогут быстро справиться с поставленными задачами и повысить точность ваших отчётов. Мы собрали 10 наиболее полезных формул, которые вы сможете выучить за один день.
Англоязычный вариант: =SUM(5; 5) или =SUM(A1; B1) или =SUM(A1:B5)
Функция СУММ позволяет вычислить сумму двух или более чисел. В этой формуле вы также можете использовать ссылки на ячейки.
С помощью формулы вы можете:
- посчитать сумму двух чисел c помощью формулы: =СУММ(5; 5)
- посчитать сумму содержимого ячеек, сссылаясь на их названия: =СУММ(A1; B1)
- посчитать сумму в указанном диапазоне ячеек, в примере во всех ячейках с A1 по B6: =СУММ(A1:B6)
Англоязычный вариант: =COUNT(A1:A10)
Данная формула подсчитывает количество ячеек с числами в одном ряду. Если вам необходимо узнать, сколько ячеек с числами находятся в диапазоне c A1 по A30, нужно использовать следующую формулу: =СЧЁТ(A1:A30).
СЧЁТЗ
Англоязычный вариант: =COUNTA(A1:A10)
С помощью данной формулы можно подсчитать количество заполненных ячеек в одном ряду, то есть тех, в которых есть не только числа, но и другие знаки. Преимущество формулы – её можно использовать для работы с любым типом данных.
ДЛСТР
Англоязычный вариант: =LEN(A1)
Функция ДЛСТР подсчитывает количество знаков в ячейке. Однако, будьте внимательны – пробел также учитывается как знак.
СЖПРОБЕЛЫ
Англоязычный вариант: =TRIM(A1)
Данная функция помогает избавиться от пробелов, не включая при этом пробелы между словами. Эта опция может быть чрезвычайно полезной, особенно в тех ситуациях, когда вы вносите в таблицу данные из другого источника и при вставке появляются лишние пробелы.
Мы добавили лишний пробел после фразы “Я люблю Excel”. Формула СЖПРОБЕЛЫ убрала его, в этом вы можете убедиться, взглянув на количество знаков с использованием формулы и без.
ЛЕВСИМВ, ПСТР и ПРАВСИМВ
=ЛЕВСИМВ(адрес_ячейки; количество знаков)
=ПРАВСИМВ(адрес_ячейки; количество знаков)
=ПСТР(адрес_ячейки; начальное число; число знаков)
Англоязычный вариант: =RIGHT(адрес_ячейки; число знаков), =LEFT(адрес_ячейки; число знаков), =MID(адрес_ячейки; начальное число; число знаков).
Эти формулы возвращают заданное количество знаков текстовой строки. ЛЕВСИМВ возвращает заданное количество знаков из указанной строки слева, ПРАВСИМВ возвращает заданное количество знаков из указанной строки справа, а ПСТР возвращает заданное число знаков из текстовой строки, начиная с указанной позиции.
Мы использовали ЛЕВСИМВ, чтобы получить первое слово. Для этого мы ввели A1 и число 1 – таким образом, мы получили «Я».
Мы использовали ПСТР, чтобы получить слово посередине. Для этого мы ввели А1, поставили 3 как начальное число и затем ввели число 6 – таким образом, мы получили «люблю» из фразы «Я люблю Excel».
Мы использовали ПРАВСИМВ, чтобы получить последнее слово. Для этого мы ввели А1 и число 6 – таким образом, мы получили слово «Excel» из фразы «Я люблю Excel».
Формула: =ВПР(искомое_значение; таблица; номер_столбца; тип_совпадения)
Англоязычный вариант: =VLOOKUP (искомое_значение; таблица; номер_столбца; тип_совпадения)
Функция ВПР работает как телефонная книга, где по фрагменту известных данных – имени, вы находите неизвестные сведения – номер телефона. В формуле необходимо задать искомое значение, которое формула должна найти в столбце таблицы.
Например, у вас есть два списка: первый с паспортными данными сотрудников и их доходами от продаж за последний квартал, а второй – с их паспортными данными и именами. Вы хотите сопоставить имена с доходами от продаж, но, делая это вручную, можно легко ошибиться.
- В первом списке данные записаны с А1 по В13, во втором – с D1 по Е13.
- В ячейке B17 поставим формулу: =ВПР(B16; A1:B13; 2; ЛОЖЬ)
- B16 = искомое значение, то есть паспортные данные. Они имеются в обоих списках.
- A1:B13 = таблица, в которой находится искомое значение.
- 2 – номер столбца, где находится искомое значение.
- ЛОЖЬ – логическое значение, которое означает то, что вам требуется точное совпадение возвращаемого значения. Если вам достаточно приблизительного совпадения, указываете ИСТИНА, оно также является значением по умолчанию.
Эта формула не такая простая, как предыдущие, тем не менее она очень полезна в работе.
Формула: =ЕСЛИ(логическое_выражение; «текст, если логическое выражение истинно; «текст, если логическое выражение ложно»)
Англоязычный вариант: =IF(логическое_выражение; «текст, если логическое выражение истинно; «текст, если логическое выражение ложно»)
Когда вы проводите анализ большого объёма данных в Excel, есть множество сценариев для взаимодействия с ними. В зависимости от каждого из них появляется необходимость по‑разному воздействовать на данные. Функция «ЕСЛИ» позволяет выполнять логические сравнения значений: если что‑то истинно, то необходимо сделать это, в противном случае сделать что‑то ещё.
Снова обратимся к примеру из сферы продаж: допустим, что у каждого продавца есть установленная норма по продажам. Вы использовали формулу ВПР, чтобы поместить доход рядом с именем. Теперь вы можете использовать оператор «ЕСЛИ», который будет выражать следующее: «ЕСЛИ продавец выполнил норму, вывести выражение «Норма выполнена», если нет, то «Норма не выполнена».
В примере с ВПР у нас был доход в столбце B и имя человека в столбце E. Мы можем поместить квоту в столбце C, а следующую формулу – в ячейку D1:
=ЕСЛИ(B1>C1; «Норма выполнена»; «Норма не выполнена»)
Функция «ЕСЛИ» покажет нам, выполнил ли первый продавец свою норму или нет. После можно скопировать и вставить эту формулу для всех продавцов в списке, значение автоматически изменится для каждого работника.
СУММЕСЛИ, СЧЁТЕСЛИ, СРЗНАЧЕСЛИ
Формула: =СУММЕСЛИ(диапазон; условие; диапазон_суммирования) =СЧЁТЕСЛИ(диапазон; условие)
=СРЗНАЧЕСЛИ(диапазон; условие; диапазон_усреднения)
Англоязычный вариант: =SUMIF(диапазон; условие; диапазон_суммирования), =COUNTIF(диапазон; условие), =AVERAGEIF(диапазон; условие; диапазон_усреднения)
Эти формулы выполняют соответствующие функции – СУММ, СЧЁТ, СРЗНАЧ, если выполнено заданное условие.
Формулы с несколькими условиями – СУММЕСЛИМН, СЧЁТЕСЛИМН, СРЗНАЧЕСЛИМН – выполняют соответствующие функции, если все указанные критерии соответствуют истине.
Используя функции на предыдущем примере, мы можем узнать:
СУММЕСЛИ – общий доход только для продавцов, выполнивших норму.
СРЗНАЧЕСЛИ – средний доход продавца, если он выполнил норму.
СЧЁТЕСЛИ – количество продавцов, выполнивших норму.
Конкатенация
Формула: =(ячейка1&» «&ячейка2)
За этим причудливым словом скрывается объединение данных из двух и более ячеек в одной. Сделать объединение можно с помощью формулы конкатенации или просто вставив символ & между адресами двух ячеек. Если в ячейке A1 находится имя «Иван», в ячейке B1 – фамилия «Петров», их можно объединить с помощью формулы =A1&» «&B1. Результат – «Иван Петров» в ячейке, где была введена формула. Обязательно оставьте пробел между » «, чтобы между объединёнными данными появился пробел.
Формула конкатенации даёт аналогичный эффект и выглядит так: =ОБЪЕДИНИТЬ(A1;» «; B1) или в англоязычном варианте =concatenate(A1;» «; B1).
Кстати, все перечисленные формулы можно применять и в Google‑таблицах.
Эта статья является лишь верхушкой айсберга в изучении Excel. Для профессионального использования программы рекомендуем учится у профессионалов на курсах по Microsoft Excel.