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

9

Eu sei que é possível no Excel alternar entre exibir valores e exibir fórmulas . Eu sou obrigado a entregar tarefas para uma classe de estatísticas como uma planilha impressa do Excel mostrando ambas a fórmula e o resultado. No momento, o instrutor nos faz copiar a fórmula e colá-la como texto ao lado do valor computado, ou copiar o valor e colá-lo ao lado da fórmula. Isso é muito ineficiente, propenso a erros (se você alterar a fórmula ou os valores depois de copiar / colar) e, geralmente, perder tempo.

Existe alguma maneira de o Excel mostrar a fórmula e seu valor na mesma célula? Caso contrário, existe alguma função que mostrará a fórmula de uma célula referenciada como texto simples, por ex. =showformula(A1) que imprimiria =sum(A2:A5) em vez de 25 (se essas eram a fórmula e o valor da célula A1 )?

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

    
por nhinkle 16.04.2012 / 01:24

7 respostas

17

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

Pressione Alt + F11 para abrir o editor do VBA, clique com o botão direito no Explorador de Projetos e selecione Inserir - > 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.

    
por 16.04.2012 / 01:41
1

Uma alternativa pode estar usando o LibreOffice.

Existe uma extensão denominada Exibir fórmula e valor simultaneamente . Deve fazer o que você precisa.

    
por 10.05.2013 / 11:17
1

Aqui está uma maneira de automatizar o que você estava fazendo antes. Ele combina as melhores partes da resposta de LonelyKnight a sua própria pergunta , a resposta de Indrek e a 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 codificada como A1:G5 ), copia a fórmula da célula, protegido por um apóstrofo, a uma célula fixa de distância. (Veja Como eu adiciono o VBA no MS Office? para obter orientação sobre como usar o VBA no Excel.) Você só precisa lembrar de executar essa macro antes de imprimir.

Ou adicione uma declaração PrintOut , , , True antes de Exit Sub , e esta macro irá imprimir a folha para você. (Você só precisa se lembrar de imprimir usando essa macro .) O quarto parâmetro para PrintOut é Visualizar , definido como True para que o Microsoft Excel invoque a pré-visualização da impressão antes de imprimir a folha (dando-lhe assim a opção de cancelar) ou False (ou omitido) para imprimir a folha imediatamente, incondicionalmente.

Ou, se você está realmente preocupado em esquecer de executar isso, você pode usar Private Sub Worksheet_Change para atualizar as fórmulas exibíveis a qualquer momento que você fizer qualquer alteração na planilha.

    
por 22.10.2014 / 23:36
0

O suplemento gratuito FormulaDesk pode fazer isso para 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, é possível ver o resultado final da célula, a fórmula original e a exibição aprimorada e explorável da fórmula simultaneamente, conforme solicitado.

[Divulgação: Eu sou o autor de FormulaDesk]

    
por 18.07.2014 / 04:32
-1

Você pode criar uma coluna adicional contendo as fórmulas: = REPLACE (target_cell; 1; 1; "")

    
por 10.05.2013 / 13:40
-1

Aqui está uma solução:

  1. Coloque um apóstrofo ( ' ) no início da fórmula
  2. Copie para a linha abaixo ou a coluna ao lado
  3. Volte para a fórmula original e remova o apóstrofo

Isso funciona.

    
por 15.10.2014 / 22:10
-2

Combinar texto com um valor Suponha que a célula A1 contenha o número 9999

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

Esta fórmula exibirá "Total: $ 9.999,00"

Outro exemplo que usa a função NOW para exibir texto com a data / hora atual

="Report printed on: "&TEXT(NOW(),"mmmm d, yyyy at h:mm AM/PM")
    
por 09.10.2014 / 18:38