Excel отображение значения ячейки при формуле

Хитрости »

13 Сентябрь 2012              68115 просмотров


Отобразить в формулах вместо ссылок на ячейки значения ячеек

Попробую в двух словах описать суть статьи: предположим на листе есть формула: =A1*A14+(5+C13)*C14 /B11
В принципе все понятно и наглядно. Но иногда требуется понять, что за значения скрываются за ссылками на ячейки. Т.е. из приведенной выше формулы надо сделать: =10*5,2+(5+5)*10 /7,8

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

  • скачать файл, приложенный к статье
  • ознакомиться со статьей Что такое макрос и где его искать?, если еще не знакомы с макросами
  • при необходимости коды из файла перенести в свой файл(перейти к просмотру кодов можно, нажав в файле кнопку «Посмотреть код»)

Как это работает:

  • выделяем ячейки с формулами, которые необходимо «показать»;
  • нажимаем кнопку «Показать значения формулы в выделенных ячейках»;
  • появится запрос

Если в какой-либо из ячеек не будет ссылок на другие ячейки, а просто текстовая формула, то как результат отобразится сама формула и за ней текст: «[ссылок на другие ячейки нет]»
Если в формуле применяются функции(ВПР, СЧЁТЕСЛИ, МИН, МАКС и т.д.), то их имена будут отображены без искажений(как во вложенном примере =СУММ(5,2;7,8)+ЦЕЛОЕ(5/11))
Если присутствуют ссылки на ячейки из других листов или книг, то они отображаются как и все остальные — просто значениями.
Если в формулах встречаются ссылки на массивы ячеек (A14:B16) — будут отображены все значения непустых ячеек массива(как и положено массиву в фигурных скобках: {5,2;4:6}, двоеточием разделяются строки, а точкой-с-запятой — столбцы).
В ближайшее время планирую сделать некую настройку данного кода, чтобы можно было рядом со значениями отображать названия листов и книг, с которых получены эти значения. Пока размышляю насколько это может быть полезно и нужно и как наиболее удобочитаемо это отображать.

Скачать пример

  Tips_All_Get_ValFormulaText.xls (53,0 KiB, 6 638 скачиваний)


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Преобразование формул в значения

Формулы – это хорошо. Они автоматически пересчитываются при любом изменении исходных данных, превращая Excel из «калькулятора-переростка» в мощную автоматизированную систему обработки поступающих данных. Они позволяют выполнять сложные вычисления с хитрой логикой и структурой. Но иногда возникают ситуации, когда лучше бы вместо формул в ячейках остались значения. Например:

  • Вы хотите зафиксировать цифры в вашем отчете на текущую дату.
  • Вы не хотите, чтобы клиент увидел формулы, по которым вы рассчитывали для него стоимость проекта (а то поймет, что вы заложили 300% маржи на всякий случай).
  • Ваш файл содержит такое больше количество формул, что Excel начал жутко тормозить при любых, даже самых простых изменениях в нем, т.к. постоянно их пересчитывает (хотя, честности ради, надо сказать, что это можно решить временным отключением автоматических вычислений на вкладке Формулы – Параметры вычислений).
  • Вы хотите скопировать диапазон с данными из одного места в другое, но при копировании «сползут» все ссылки в формулах.

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

Способ 1. Классический

Этот способ прост, известен большинству пользователей и заключается в использовании специальной вставки:

  1. Выделите диапазон с формулами, которые нужно заменить на значения.
  2. Скопируйте его правой кнопкой мыши – Копировать (Copy).
  3. Щелкните правой кнопкой мыши по выделенным ячейкам и выберите либо значок Значения (Values):

    преобразование формул в значения в Excel
    либо наведитесь мышью на команду Специальная вставка (Paste Special), чтобы увидеть подменю:

    formulas-to-values2.png
    Из него можно выбрать варианты вставки значений с сохранением дизайна или числовых форматов исходных ячеек.

    В старых версиях Excel таких удобных желтых кнопочек нет, но можно просто выбрать команду Специальная вставка и затем опцию Значения (Paste Special — Values) в открывшемся диалоговом окне:

    formulas-to-values3.png

Способ 2. Только клавишами без мыши

При некотором навыке, можно проделать всё вышеперечисленное вообще на касаясь мыши:

  1. Копируем выделенный диапазон Ctrl+C
  2. Тут же вставляем обратно сочетанием Ctrl+V
  3. Жмём Ctrl, чтобы вызвать меню вариантов вставки
  4. Нажимаем клавишу с русской буквой З или используем стрелки, чтобы выбрать вариант Значения и подтверждаем выбор клавишей Enter:

Замена формул на значения соч.клавиш

Способ 3. Только мышью без клавиш или Ловкость Рук

Этот способ требует определенной сноровки, но будет заметно быстрее предыдущего. Делаем следующее:

  1. Выделяем диапазон с формулами на листе
  2. Хватаем за край выделенной области (толстая черная линия по периметру) и, удерживая ПРАВУЮ клавишу мыши, перетаскиваем на пару сантиметров в любую сторону, а потом возвращаем на то же место
  3. В появившемся контекстном меню после перетаскивания выбираем Копировать только значения (Copy As Values Only).

formulas-to-values4.gif

После небольшой тренировки делается такое действие очень легко и быстро. Главное, чтобы сосед под локоть не толкал и руки не дрожали ;)

Способ 4. Кнопка для вставки значений на Панели быстрого доступа

Ускорить специальную вставку можно, если добавить на панель быстрого доступа в левый верхний угол окна кнопку Вставить как значения. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar). В открывшемся окне выберите Все команды (All commands) в выпадающем списке, найдите кнопку Вставить значения (Paste Values) и добавьте ее на панель:

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

Теперь после копирования ячеек с формулами будет достаточно нажать на эту кнопку на панели быстрого доступа:

Кнопка вставки значений на панели быстрого доступа

Кроме того, по умолчанию всем кнопкам на этой панели присваивается сочетание клавиш Alt + цифра (нажимать последовательно). Если нажать на клавишу Alt, то Excel подскажет цифру, которая за это отвечает:

Подсветка горячих клавиш

Способ 5. Макросы для выделенного диапазона, целого листа или всей книги сразу

Если вас не пугает слово «макросы», то это будет, пожалуй, самый быстрый способ.

Макрос для превращения всех формул в значения в выделенном диапазоне (или нескольких диапазонах, выделенных одновременно с Ctrl) выглядит так:

Sub Formulas_To_Values_Selection()
'преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range
    For Each smallrng In Selection.Areas
        smallrng.Value = smallrng.Value
    Next smallrng
End Sub

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

Sub Formulas_To_Values_Sheet()
'преобразование формул в значения на текущем листе
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub
 

И, наконец, для превращения всех формул в книге на всех листах придется использовать вот такую конструкцию:

Sub Formulas_To_Values_Book()
'преобразование формул в значения во всей книге
    For Each ws In ActiveWorkbook.Worksheets
        ws.UsedRange.Value = ws.UsedRange.Value
    Next ws
End Sub
 

Код нужных макросов можно скопировать в новый модуль вашего файла (жмем Alt+F11 чтобы попасть в Visual Basic, далее Insert — Module). Запускать их потом можно через вкладку Разработчик — Макросы (Developer — Macros) или сочетанием клавиш Alt+F8. Макросы будут работать в любой книге, пока открыт файл, где они хранятся. И помните, пожалуйста, о том, что действия выполненные макросом невозможно отменить — применяйте их с осторожностью. 

Способ 6. Для ленивых

Если ломает делать все вышеперечисленное, то можно поступить еще проще — установить надстройку PLEX, где уже есть готовые макросы для конвертации формул в значения и делать все одним касанием мыши:

formulas-to-values.png

В этом случае:

  • всё будет максимально быстро и просто
  • можно откатить ошибочную конвертацию отменой последнего действия или сочетанием Ctrl+Z как обычно
  • в отличие от предыдущего способа, этот макрос корректно работает, если на листе есть скрытые строки/столбцы или включены фильтры
  • любой из этих команд можно назначить любое удобное вам сочетание клавиш в Диспетчере горячих клавиш PLEX

Ссылки по теме

  • Что такое макросы, как их использовать, копировать и запускать
  • Как скопировать формулы без сдвига ссылок
  • Как считать в Excel без формул

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для Mac 2011 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции Ф.ТЕКСТ в Microsoft Excel.

Описание

Возвращает формулу в виде строки.

Синтаксис

Ф.ТЕКСТ(ссылка)

Аргументы функции Ф.ТЕКСТ указаны ниже.

  • Ссылки    — обязательный аргумент. Ссылка на ячейку или диапазон ячеек.

Замечания

  • Функция Ф.ТЕКСТ возвращает значение, отображаемое в строке формул при выборе ячейки, на которую ссылается формула.

  • Аргумент «Ссылка» может ссылаться на другой лист или книгу.

  • Если аргумент «Ссылка» содержит ссылку на другую неоткрытую книгу, функция Ф.ТЕКСТ возвращает значение ошибки #N/A.

  • Если аргумент «Ссылка» содержит ссылку на целую строку или столбец либо на диапазон или определенное имя, содержащее несколько ячеек, функция Ф.ТЕКСТ возвращает значение в верхней левой ячейке строки, столбца или диапазона.

  • Функция Ф.ТЕКСТ возвращает значение ошибки #N/A в указанных ниже случаях.

    • Ячейка, используемая в качестве аргумента «Ссылка», не содержит формулу.

    • Длина формулы в ячейке превышает 8192 символов.

    • Формулу нельзя отобразить на листе, например, при использовании защиты листа.

    • Внешняя книга, содержащая формулу, не открыта в приложении Excel.

  • Недопустимые типы данных, используемые в качестве входных данных, #VALUE! (значение ошибки).

  • Ввод ссылки на ячейку, в которую вводится функция в качестве аргумента, не приведет к возникновению предупреждения о циклической ссылке. Функция Ф.ТЕКСТ успешно возвратит формулу в виде текста в ячейке.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=СЕГОДНЯ()

Формула в ячейке C2 возвращает формулу из ячейки A2, в виде текстовой строки для удобного рассмотрения ее структуры. Формула в ячейке A2 — =СЕГОДНЯ(), и в этой ячейке будет отображена сегодняшняя дата. Формула =СЕГОДНЯ() должна отобразиться в виде текста в ячейке C2.

=Ф.ТЕКСТ(A2)

К началу страницы

Нужна дополнительная помощь?

Отображение в формуле не номером ячейки,а значениями ячеек

Автор radist, 07.06.2012, 08:47

« назад — далее »

Подскажите,пожалуйста, возможно ли сделать,чтобы когда нажимаешь на ячейку с формулой,он показывал не ссылку на другую ячейку, а содержание этой ячейки? т.е.,например А1=2, В1=3, С1=А1+В1=5. если нажать на ячейку С1,то он покажет А1+В1 и подсветит ячейки. Возможно ли сделать так,чтобы при нажатии на ячейку С1 он показывал «2+3»? Спасибо


А вам не подойдет команда вычислить формулу? она делает почти тоже самое.

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 07.06.2012, 11:15
А вам не подойдет команда вычислить формулу? она делает почти тоже самое.

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


Цитата: radist от 07.06.2012, 08:47
Возможно ли сделать так,чтобы при нажатии на ячейку С1 он показывал «2+3»?

нет.
Но можно записать в ячейке D1 формулу =A1&» + «&B1, которая вернет нужную вам текстовую строку.


Barbarian12, а можете рассказать поподробнее про то,о чем вы написали?
Poltava, увы не подойдет. Часто делаю в Excel схему помещения, и площади вычисляю формулами. Проверять было бы себя здорово,если можно было бы делать так,как я написал в вопросе. Формулой не удобно,но всё равно спасибо огромное за ответ :)
IKor, а можно эти символы проставить быстро? т.е. допустим есть формула из 15-20 значений,хочу быстро проверить(превратить в текст формулу).как сделать всю формулу в стиле,как вы посоветовали?



Barbarian12,спасибо. Но это не совсем то,что хотел :-


Цитата: radist от 07.06.2012, 08:47
Возможно ли сделать так,чтобы при нажатии на ячейку С1 он показывал «2+3»? Спасибо

Цитата: IKor от 07.06.2012, 11:57
Но можно записать в ячейке D1 формулу =A1&» + «&B1, которая вернет нужную вам текстовую строку.

Цитата: radist от 07.06.2012, 20:03
IKor, а можно эти символы проставить быстро? т.е. допустим есть формула из 15-20 значений,хочу быстро проверить(превратить в текст формулу).как сделать всю формулу в стиле,как вы посоветовали?

По-моему Ваша новая задача является обратной по отношению к первой — не так ли? В общем случае интерпретировать текстовую строку в математическую формулу (пусть даже только с четырьмя простейшими арифметическими действиями) — задача не простая. Скобки, приоритет одних действий над другими, интерпретация констант и ссылок на ячейки, проблема разделителя целой и дробной частей (точка или запятая), не говоря уже просто об опечатках :) — все это сильно затрудняет задачу. Я бы не взялся решать такую задачу ОДНОЙ_ФОРМУЛОЙ — разве что написать специальную формулу на VBA… Отдельная проблема в количестве операций в Ваших исходных данных: 15-20 — это очень много для одной формулы. Я бы порекомендовал использовать дополнительные столбцы.

Для примера, интерпретация простейшей формулы, записанной в ячейку А1, с известным арифметическим действием (сложением) и известным количеством слагаемых (тремя) выливается в такого монстра:

=ЗНАЧЕН(ПСТР(A1;1;ПОИСК("+";A1)-1))+ЗНАЧЕН(ПСТР(A1;ПОИСК("+";A1)+1;ПОИСК("+";A1;ПОИСК("+";A1)+1)-ПОИСК("+";A1)-1))+ЗНАЧЕН(ПСТР(A1;ПОИСК("+";A1;ПОИСК("+";A1)+1);ДЛСТР(A1)-ПОИСК("+";A1;ПОИСК("+";A1)-1)))
добавление возможных арифметических действий (проверки) или слагаемых (вложенные рекурсии) существенно увеличит сложность функции


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


Для отладки формул удобно вычислять промежуточный результат, выделяя непосредственно в строке формул и нажимая F9:
(синим то, что выделяется) =A1+B1 → [F9] → =A1+3 → [F9] → =2+3

Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


Не считаются формулы в Microsoft Excel

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

Содержание

Устранение проблем с вычислением

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

Способ 1: изменение формата ячеек

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

  1. Для того, чтобы посмотреть, какой формат имеет конкретная ячейка или диапазон, переходим во вкладку «Главная». На ленте в блоке инструментов «Число» имеется поле отображения текущего формата. Если там указано значение «Текстовый», то формула точно вычисляться не будет.

    Просмотр формата ячейки в Microsoft Excel

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

    Изменение формата в Microsoft Excel

  3. Но выбор типов формата через ленту не такой обширный, как через специализированное окно. Поэтому лучше применить второй вариант форматирования. Выделяем целевой диапазон. Кликаем по нему правой кнопкой мыши. В контекстном меню выбираем пункт «Формат ячеек». Можно также после выделения диапазона нажать комбинацию клавиш Ctrl+1.

    Переход к форматированию ячейки в Microsoft Excel

  4. Открывается окно форматирования. Переходим во вкладку «Число». В блоке «Числовые форматы» выбираем тот формат, который нам нужен. Кроме того, в правой части окна имеется возможность выбрать тип представления конкретного формата. После того, как выбор произведен, кликаем по кнопке «OK», размещенной внизу.

    Форматирование ячейки в Microsoft Excel

  5. Выделите поочередно ячейки, в которых функция не считалась, и для пересчета нажмите функциональную клавишу F2.

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

Формкла считается в Microsoft Excel

Способ 2: отключение режима «Показать формулы»

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

  1. Чтобы включить отображение итогов, переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул», если кнопка «Показать формулы» активна, то кликаем по ней.

    Отключение показа формул в Microsoft Excel

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

Отображение формул отключено в Microsoft Excel

Способ 3: исправление ошибки в синтаксисе

Формула также может отображаться как текст, если в её синтаксисе были допущены ошибки, например, пропущена или изменена буква. Если вы вводили её вручную, а не через Мастер функций, то такое вполне вероятно. Очень распространенной ошибкой, связанной с отображением выражения, как текста, является наличие пробела перед знаком «=».

Пробел перед знаком равно в Microsoft Excel

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

Способ 4: включение пересчета формулы

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

  1. Перейдите во вкладку «Файл». Находясь в ней, следует кликнуть по пункту «Параметры».

    Переход в параметры в Microsoft Excel

  2. Откроется окно параметров. Нужно перейти в раздел «Формулы». В блоке настроек «Параметры вычислений», который расположен в самом верху окна, если в параметре «Вычисления в книге», переключатель не установлен в позицию «Автоматически», то это и есть причина того, что результат вычислений неактуальный. Переставляем переключатель в нужную позицию. После выполнения вышеуказанных настроек для их сохранения в нижней части окна жмем на кнопку «OK».

Установка автоматического пересчета формул в Microsoft Excel

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

Способ 5: ошибка в формуле

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

  • #ЧИСЛО!;
  • #ЗНАЧ!;
  • #ПУСТО!;
  • #ДЕЛ/0!;
  • #Н/Д.

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

Ошибка в формуле в Microsoft Excel

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

  1. Выделяем ячейку с ошибкой. Переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул» кликаем по кнопке «Вычислить формулу».

    Переход к вычислению формулы в Microsoft Excel

  2. Открывается окно, в котором представляется полный расчет. Нажимаем на кнопку «Вычислить» и просматриваем вычисление пошагово. Ищем ошибку и устраняем её.

Вычисление формулы в Microsoft Excel

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

Like this post? Please share to your friends:
  • Excel отображать формулы на листе
  • Excel отображать только цифры
  • Excel отображать только рабочую область
  • Excel отображать содержимое ячейки если
  • Excel отображать с другого листа