Procurando por um 3º método para alcançar resultados no Excel

4

Eu tenho uma equação muito longa. (VLE).
Se o VLE tiver uma determinada propriedade (A1 = 5, for example) ,
Eu gostaria de ter o Absolute value of VLE , em vez de apenas VLE .
Normalmente, isso seria parecido com

=if(A1=5, Abs(VLE),VLE)  

Como alternativa, eu teria uma coluna auxiliar,

=if(A1=5,ABS(B1),B1)  

e encaminhe tudo lá.

Gostaria de saber se há um 3rd method , um que tenha apenas VLE written once e que não use uma coluna auxiliar.
Poderia o sumifs que agarra o aperto do VLE em uma matriz (enquanto já está usando um OR?) Existe uma maneira de ter uma matriz de auto-referência? Ou estou preso a uma das duas soluções propostas anteriormente?

O VBA é sempre uma possibilidade ... mas, nesse ponto, prefiro reescrever várias equações para evitar isso.

    
por Selkie 29.03.2017 / 23:13

2 respostas

2

Deixe C4-D4 ser um marcador para a fórmula longa. Então, se você pode mudar a condição em A1 tal que A1 é sempre 1 ou 2 e 2 significa usar o valor absoluto, a fórmula da coluna principal seria apenas %código%. Se a condição em =((C4-D4)^$A$1)^(1/$A$1) não puder ser alterada e você puder reservar uma célula extra, digamos, A1 as A2 , a fórmula da coluna principal seria %código%. Caso contrário, você sempre pode usar uma versão mais longa =1+(A1=5) .

Apenas tome cuidado, pois isso pode resultar em perda ou estouro de precisão.

    
por 31.03.2017 / 05:50
2

Uma terceira opção é usar uma função definida pelo usuário ( UDF ):

Public Function ConditionalAbsolute(v As Variant, boo As Boolean) As Variant
    If boo Then
        ConditionalAbsolute = Abs(v)
    Else
        ConditionalAbsolute = v
    End If
End Function

Por exemplo:

Oprimeiroargumentoéa"fórmula longa"; o segundo argumento é a expressão que é True ou False .

Funções Definidas pelo Usuário (UDFs) são muito fáceis de instalar e usar:

  1. ALT-F11 exibe a janela do VBE
  2. ALT-I ALT-M abre um novo módulo
  3. cole o material e feche a janela do VBE

Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover o UDF:

  1. abrir a janela do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para usar o UDF do Excel:

=CondionalAbsolute(A1+B1,C1=0)

Para saber mais sobre macros em geral, consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 30.03.2017 / 01:11