O Excel pode mostrar uma fórmula e seu resultado simultaneamente?

O Excel pode mostrar uma fórmula e seu resultado simultaneamente?

Eu sei que é possível no Excel alternar entreexibindo valores e exibindo fórmulas. Sou obrigado a entregar as tarefas de uma aula de estatística como uma planilha Excel impressa mostrandoambosa fórmula e o resultado. No momento, o instrutor nos obriga a copiar a fórmula e colá-la como texto ao lado do valor calculado, ou copiar o valor e colá-lo ao lado da fórmula. Isso é muito ineficiente, sujeito a erros (se você alterar a fórmula ou os valores após copiar e colar) e geralmente uma perda de tempo.

Existe alguma maneira de o Excel mostrar a fórmulaeseu valor na mesma célula? Caso contrário, existe alguma função que exibirá a fórmula de uma célula referenciada como texto simples, por exemplo, =showformula(A1)que seria impressa =sum(A2:A5) em vez de 25(se fossem a fórmula e o valor de cell A1)?

Estou usando o Excel 2010, mas uma resposta geral que funcione para qualquer edição recente do Excel seria boa.

Responder1

Não conheço nenhuma função interna para isso. Você pode, no entanto, criar uma função VB definida pelo usuário para realizar o que deseja.

ImprensaAlt+F11para abrir o editor VBA, clique com o botão direito no Project Explorer e selecioneInserir->Módulo. Cole o seguinte código:

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

Agora você pode usar =GetFormula(A1)para mostrar a fórmula dessa célula.

Responder2

Talvez valha a pena notar que, a partir do Excel 2013, existe uma função nativa para isso: FORMULATEXT.

Do artigo support dot office ponto com sobre FORMULATEXTfunção:

Descrição

Retorna uma fórmula como uma string.

Sintaxe

FÓRMULATEXTO(referência)

A sintaxe da função FORMULATEXT possui os seguintes argumentos:

  • Referência Obrigatório. Uma referência a uma célula ou intervalo de células.

Observações

  • A função FORMULATEXT retorna o que é exibido na barra de fórmulas se você selecionar a célula referenciada.

Responder3

Esta é uma maneira de automatizar o que você estava fazendo antes. Ele combina as melhores partes deA resposta de LonelyKnight para sua própria pergunta, resposta de Indrek e resposta 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 célula no intervalo especificado (aqui codificado como A1:G5), ele copia a fórmula da célula, protegida por um apóstrofo, para uma célula a um deslocamento fixo de distância. (VerComo adiciono VBA no MS Office? para obter orientação sobre como usar o VBA no Excel.) Você só precisa se lembrar de executar esta macro antes de imprimir.

Ou adicione uma PrintOut , , , Trueinstrução logo antes Exit Sube esta macro imprimirá a planilha para você. (Você só precisa se lembrar de imprimirusando esta macro.) O quarto parâmetro PrintOutéVisualização, definido como Truepara que o Microsoft Excel invoque a visualização da impressão antes de imprimir a planilha (dando a você a opção de cancelar) ou False(ou omitir) para imprimir a planilha imediatamente, incondicionalmente.

Ou, se você estiver realmente preocupado em esquecer de executar isso, você pode usar Private Sub Worksheet_Changepara atualizar as fórmulas exibíveis sempre que fizerqualqueralteração na planilha.

Responder4

O suplemento gratuito,FórmulaDeskpode fazer isso por você, além de exibir a fórmula de uma forma mais compreensível e identificar erros na fórmula.

Como você pode ver na captura de tela abaixo, você pode visualizar o resultado final da célula, a fórmula original e a exibição explorável aprimorada da fórmula simultaneamente, conforme solicitado.

[Divulgação: sou o autor do FormulaDesk]

insira a descrição da imagem aqui

informação relacionada