Se a instrução que retorna a função original for falsa (semelhante a iferror, ou substitute)

1

Se eu usar IFERROR em oposição a IF (ISERROR, posso salvar digitando a condição duas vezes.

ou seja,

 =IFERROR(Long lookup,"not found")

é muito preferível a

 =IF(ISERROR(long_lookup),"not found",long_lookup)

quando há uma fórmula longa envolvida.

No entanto, para algo como

 =IF(long_lookup=some_condition,"outtext",long_lookup)

Existe uma fórmula genérica em que eu posso digitar

 =IF2(long_lookup,some_condition,"outtext")

para outras coisas além de erros. Ou algo semelhante, que me permite produzir a fórmula original se uma condição não for atendida (em vez de simplesmente gerar FALSE).

Essencialmente, quero evitar uma fórmula desnecessariamente duplicada.

Um trabalho é colocar a fórmula na coluna antes do curso e apenas usar

 =if(condition(a2),"out if true",A2))

Mas é uma dor

EDIT: também similar é = SUBSTITUTE (), mas isso não funciona se a célula inteira que você está tentando substituir também estiver contida como uma substring de outras células, por exemplo. se eu quisesse uma pesquisa retornando "B" para a saída "foobar", mas havia a possibilidade de retornar "Batch 1". Isso também não funciona para espaços em branco.

    
por Some_Guy 24.06.2015 / 13:20

1 resposta

0

Na verdade, essa é uma pergunta muito boa que eu também usaria com frequência, mas, infelizmente, não creio que haja uma solução geral que você possa usar.

Uma solução seria usar a função VBA, mas também tem suas próprias limitações, abaixo você pode encontrar uma função curta para fazê-lo (é claro que se você quiser usá-la amplamente, precisa ser melhorado, por exemplo. para mais operadores, não apenas = ):

Function IfCondition(expression as Variant, criteria as Variant, ElseExpression)
  IF expression = criteria Then
    IfCondition = expression
  Else
    IfCondition = elseExpression
  End If
End Function
    
por 25.06.2015 / 11:39