¿Puede Excel mostrar una fórmula y su resultado simultáneamente?

¿Puede Excel mostrar una fórmula y su resultado simultáneamente?

Sé que es posible en Excel alternar entremostrar valores y mostrar fórmulas. Debo entregar las tareas para una clase de estadística como una hoja de Excel impresa que muestreambosla fórmula y el resultado. En este momento, el instructor nos hace copiar la fórmula y pegarla como texto junto al valor calculado, o copiar el valor y pegarlo junto a la fórmula. Esto es muy ineficiente, propenso a errores (si cambia la fórmula o los valores después de copiar y pegar) y, en general, una pérdida de tiempo.

¿Hay alguna manera de que Excel muestre la fórmula?y¿Su valor en la misma celda? Si no es así, ¿hay alguna función que muestre la fórmula de una celda referenciada como texto sin formato, por ejemplo, =showformula(A1)que se imprima =sum(A2:A5) en lugar de 25(si esos fueran la fórmula y el valor de la celda A1)?

Estoy usando Excel 2010, pero sería bueno tener una respuesta general que funcione para cualquier edición reciente de Excel.

Respuesta1

No conozco ninguna función integrada para esto. Sin embargo, puede crear una función VB definida por el usuario para lograr lo que desea.

PrensaAlt+F11para abrir el editor VBA, haga clic derecho en el Explorador de proyectos y seleccioneInsertar->Módulo. Pegue el siguiente código:

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

Ahora puedes usar =GetFormula(A1)para mostrar la fórmula de esa celda.

Respuesta2

Quizás valga la pena señalar que, a partir de Excel 2013, existe una función nativa para esto: FORMULATEXT.

Del artículo de soporte punto office punto com sobre FORMULATEXTla función:

Descripción

Devuelve una fórmula como una cadena.

Sintaxis

TEXTO DE FÓRMULA (referencia)

La sintaxis de la función FORMULATEXT tiene los siguientes argumentos:

  • Referencia Requerido. Una referencia a una celda o rango de celdas.

Observaciones

  • La función FORMULATEXT devuelve lo que se muestra en la barra de fórmulas si selecciona la celda a la que se hace referencia.

Respuesta3

Aquí tienes una manera de automatizar lo que hacías antes. Combina las mejores partes deLa respuesta de LonelyKnight a su propia pregunta, la respuesta de Indrek y la respuesta de 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

Para cada celda en el rango especificado (aquí codificado como A1:G5), copia la fórmula de la celda, protegida por un apóstrofo, en una celda a un desplazamiento fijo de distancia. (Ver¿Cómo agrego VBA en MS Office? para obtener orientación sobre el uso de VBA en Excel). Sólo debe recordar ejecutar esta macro antes de imprimir.

O agregue una PrintOut , , , Truedeclaración justo antes Exit Suby esta macro imprimirá la hoja por usted. (Solo tienes que acordarte de imprimirusando esta macro.) El cuarto parámetro PrintOutesAvance, configúrelo Trueen para que Microsoft Excel invoque la vista previa de impresión antes de imprimir la hoja (dándole así la opción de cancelar) o False(u omitido) para imprimir la hoja inmediatamente, incondicionalmente.

O, si realmente le preocupa olvidarse de ejecutar esto, puede usarlo Private Sub Worksheet_Changepara actualizar las fórmulas visualizables cada vez que realicecualquiercambio en la hoja de trabajo.

Respuesta4

El complemento gratuito,Escritorio de fórmulapuede hacer esto por usted, además de mostrar la fórmula de una manera más comprensible y detectar errores en la fórmula.

Como puede ver en la captura de pantalla a continuación, puede ver el resultado final de la celda, la fórmula original y la visualización explorable mejorada de la fórmula simultáneamente, como lo solicitó.

[Divulgación: soy el autor de FormulaDesk]

ingrese la descripción de la imagen aquí

información relacionada