Может ли Excel показать формулу и ее результат одновременно?

Я знаю, что в Excel можно переключаться между отображение значений и формул. Я должен включить задания для класса статистики в виде печатного листа Excel, показывающего и формула и результат. Прямо сейчас инструктор заставляет нас либо скопировать формулу и вставить ее в виде текста рядом с вычисленным значением, либо скопировать значение и вставить его рядом с формулой. Это очень неэффективно, подвержено ошибкам (при изменении формулы или значения после выполнения copy-paste), и вообще пустая трата времени.

есть ли способ, чтобы Excel показать формулу и его значение в той же ячейке? Если нет, есть ли функция, которая будет отображать формулы из ячейки в виде обычного текста, например,=showformula(A1) Что бы распечатать =sum(A2:A5) вместо 25 (если это формула и значение ячейки A1)?

Я использую Excel 2010, но общий ответ, который работает для любого недавнего издания В Excel было бы неплохо.

26
задан Community
30.01.2023 23:29 Количество просмотров материала 2620
Распечатать страницу

7 ответов

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

пресс Alt+F11 открыть редактор VBA, щелкните правой кнопкой мыши в Обозревателе проектов и выберите вставить ->модуль. Вставьте следующий код:

Function GetFormula(cell)  
  GetFormula = cell.Formula  
End Function

теперь вы можете использовать =GetFormula(A1) показать формулу этой ячейки.

17
отвечен Indrek 2023-02-01 07:17

в качестве альтернативы можно использовать LibreOffice.

существует расширение с именем отображать формулу и значение одновременно. Он должен делать то, что вам нужно.

1
отвечен denden 2023-02-01 09:34

вот способ автоматизировать то, что вы делали раньше.  Он сочетает в себе лучшие части ответ LonelyKnight на свой собственный вопрос, ответил Индрек и Billis ответ:

Sub Show_Formulas()
    Dim rng As Range, cell As Range
    row_offset = 10
    col_offset = 0
    Set rng = Range(Cells(1, 1), Cells(5, 7))

    On Error GoTo ErrHandler
    For Each cell In rng
        cell.Offset(row_offset, col_offset) = "'" & cell.Formula
    Next cell
    Exit Sub

ErrHandler:
    MsgBox "The cow jumped over the moon", , "Error!", Err.HelpFile, Err.HelpContext

End Sub

для каждой ячейки в указанном диапазоне (здесь жестко, как A1:G5), копирует формулу ячейки, защищенный Апострофом, к ячейке фиксированное смещение.  (См.как добавить VBA в MS Office? руководство по использованию VBA в Excel.) Вы просто должны не забудьте запустить этот макрос перед печатью.

или добавьте PrintOut , , , True заявление перед Exit Sub, и этот макрос распечатает лист для вас.  (Вы просто должны помнить, чтобы напечатать С помощью этого макроса.)  Четвертый параметр PrintOut is предварительный просмотр, значение True для того, чтобы Microsoft Excel вызвать предварительный просмотр перед печатью листа (таким образом, давая вам возможность отменить) или False (или опущено) для немедленной печати листа, безусловно.

или, если вы действительно обеспокоены тем, что забыли запустить это, вы можете использовать Private Sub Worksheet_Change для обновления отображаемых формул в любое время вы делаете любой изменить на листе.

1
отвечен G-Man 2023-02-01 11:51

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

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

[раскрытие информации: я автор FormulaDesk]

enter image description here

0
отвечен Gareth Hayter 2023-02-01 14:08

можно создать дополнительный столбец, содержащий формулы: =Заменить(target_cell;1;1;"")

-1
отвечен András 2023-02-01 16:25

вот решение:

  1. поставить апостроф ('), в начале формула
  2. скопируйте его в строку ниже или в столбец рядом с ним
  3. вернитесь к исходной формуле и удалите Апостроф

это работает.

-1
отвечен Billis 2023-02-01 18:42

объединить текст со значением Предположим, ячейка A1 содержит число 9999

="Total: "&TEXT(A1,"$#,##0.00")

эта формула покажет " итог: $9,999.00"

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

="Report printed on: "&TEXT(NOW(),"mmmm d, yyyy at h:mm AM/PM")
-2
отвечен mta 2023-02-01 20:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх