No Excel, existe uma maneira menos repetitiva de escrever '= IF (Expressão A = 0, “(nenhum)”, Expressão A)'?

1

No Excel, tenho uma expressão longa e complexa (Expressão A) que estou usando em uma fórmula. Eu quero essa fórmula para retornar o valor da expressão A, exceto no caso em que essa expressão é igual a algum valor específico (0 por exemplo), caso em que ele retorna algo diferente, como "(nenhum)".

Existe uma maneira de escrever =IF(<Expression A> = 0, "(none)", <Expression A>) que não exigiria que eu repetisse a totalidade da Expressão A duas vezes? (Mais ou menos como IFERROR funciona, exceto com uma condição personalizada)

    
por Ajedi32 17.01.2013 / 22:17

4 respostas

7

No caso em que você deseja exibir algo diferente de zero especificamente , é possível forçar um erro quando a expressão é resolvida como zero dividindo 1 por esse resultado, por exemplo, com função IFERROR - disponível no Excel 2007 ou posterior

=IFERROR(1/(1/<Expression A>),"(none)")

ou use um formato personalizado em que zero seja exibido como "(nenhum)", por exemplo,

0;-0;"(none)"

    
por 17.01.2013 / 23:42
0

'Não', sujeito à ressalva usual, não sem o VBA.

Mas, com uma abordagem diferente, você pode poupar algum problema, digamos, com formatação condicional.

    
por 17.01.2013 / 23:27
0

Isso pode ser feito facilmente no VBA. Aqui estão algumas funções de exemplo:

Function DISPLAY_0_DEFAULT(exp_val)
    If exp_val = 0 Then
        DISPLAY_0_DEFAULT = "(none)"
    Else
        DISPLAY_0_DEFAULT = exp_val
    End If
End Function

Function DISPLAY_3_ARGS(exp_val, test_val, display_val)
    If exp_val = test_val Then
        DISPLAY_3_ARGS = display_val
    Else
        DISPLAY_3_ARGS = exp_val
    End If
End Function

A função DISPLAY_0_DEFAULT faz o que você descreveu na sua pergunta, tendo como argumento a "Expressão A". A função DISPLAY_3_ARGS faz a mesma coisa, exceto que permite especificar o "valor específico" (para comparar com) e o valor a ser exibido se "Expressão A" corresponder ao "valor específico". Aqui está uma ilustração do seu uso:

    
por 18.01.2013 / 02:03
-1

Existem algumas opções:

Coluna oculta

Você pode escrever <Expression A> para uma célula separada em uma coluna oculta e, em seguida, referir-se a isso.

    Column A           Column B
    (hidden)

=<Expression A>  =IF(A1=0,"(none)",A1)

Formatação de números

Use a fórmula =<Expression A> , não se preocupe com a função IF .

Defina a formatação da célula como Personalizada: 0;-0;"(none)"

    
por 18.01.2013 / 00:55