Como escrevo uma complexa função “e” “ou” do Excel 2013

1

Eu tenho uma fórmula de excel decentemente longa que eu preciso de ajuda. Eu tenho uma planilha de aproximadamente 5600 rows da mesma repetição ~ 73 itens. Em cada conjunto, porém, nem todos os 73 estão presentes.

Eu preciso preencher uma terceira coluna com dados que correspondam às duas primeiras colunas.

A fórmula que tenho é aproximadamente a seguinte:

=IF(OR(AND(C61="Rundersnippers",D61="Naam product"),"BP1001_RS"), (AND(C61="Rundersnippers",D61="Naam Leverancier"),"BP1002_RS"), (AND(C61="Rundersnippers",D61="Plaats leverancier"),"BP1003_RS"), (AND(C61="Rundersnippers",D61="EG nr. op verpakking"),"BP1004_RS"),

O Excel não gosta muito disso. Como posso consertar isso?

    
por GoldenNuck 22.10.2015 / 03:28

1 resposta

0

Você está usando uma sintaxe inválida.

A primeira coisa errada com a sua fórmula é a instrução OR() . A instrução OR() funciona da mesma forma que a instrução AND() , exceto que retorna true se QUALQUER condição for atendida --opposed para TODAS as condições sendo atendidas. Do exemplo acima, é desnecessário e deve ser removido.

A segunda coisa errada com a sua fórmula é que você está incorretamente aninhando IF() declarações (ou, mais precisamente, NÃO incluindo-as). A sintaxe de uma instrução IF() é:

=IF([logic_test], [value_if_true], [value_if_false])

Para aninhar uma instrução IF() , você escreveria uma instrução IF() adicional no lugar do parâmetro [value_if_false] . ou seja,

=IF([logic_test], [value_if_true],
   IF([logic_test], [value_if_true], [value_if_false])
 )

Sua fórmula, de cima, deve se parecer com:

=IF(AND(C61="Rundersnippers", D61="Naam product"), "BP1001_RS",
   IF(AND(C61="Rundersnippers", D61="Naam Leverancier"), "BP1002_RS",
     IF(AND(C61="Rundersnippers", D61="Plaats leverancier"), "BP1003_RS",
       // And so on..
     )
   )
 )

No entanto , recomendo vivamente repensar a sua abordagem. Uma boa regra é: se a fórmula é laboriosamente repetitiva, você está fazendo algo errado.

Considere a combinação dos valores da coluna A & B ( =A1&"-"&B1 ), depois indexando os valores de uma tabela separada. ou seja,

Data

| Foo            | Bar                | Baz       |
| -------------- | ------------------ | --------- |
| Rundersnippers | Naam product       |           |
| Rundersnippers | Naam Leverancier   |           |
| Rundersnippers | Plaats leverancier |           |

Index

| Index                             | Value     |
| --------------------------------- | --------- |
| Rundersnippers-Naam product       | BP1001_RS |
| Rundersnippers-Naam Leverancier   | BP1002_RS |
| Rundersnippers-Plaats leverancier | BP1003_RS |

Em seguida, na guia Data , use =VLOOKUP(A2&"-"&B2, Index!A:B, 2, FALSE) para encontrar o valor correspondente.

    
por 15.02.2016 / 22:41