Excel se função com mais condição com função de correspondência

0

eu tive um problema com a função com mais condição e função de correspondência. Posso ter solução?

Atualmente, tento usar essa fórmula de matriz, mas não consigo obter nenhum resultado.

{=IF(MATCH(A1;'6(AKK)'!$A$1:$A$100);"AKK";

IF(MATCH(A1;'6(K3)'!$A$1:$A$100);"K3";

IF(MATCH(A1;'6(Kesling)'!$A$1:$A$100);"Kesehatan Lingkungan";

IF(MATCH(A1;'6(Kespro)'!$A$1:$A$100);"Kesehatan Reproduksi";

IF(MATCH(A1;'6(Promkes)'!$A$1:$A$100);"Promosi Kesehatan";

IF(MATCH(A1;'6(Epid)'!$A$1:$A$100);"Epidemiologi";

IF(MATCH(A1;'6(Gizi)'!$A$1:$A$100);"Gizi Kesehatan Masyarakat";"Gagal")))))))}

Por exemplo, os dados na planilha principal são parecidos com os abaixo.

      A                B
  1. R.15.01.001 (This is Cell Formula)

  2. R.15.01.002

  3. R.15.01.003

Por exemplo, dados na planilha "6 (AKK)"

      A

1 R.15.01.001

2 R.15.01.003

3 R.15.01.007

4 etc...

Por exemplo, dados na Folha "6 (K3)"

      A

1 R.15.01.002

2 R.15.01.004

3 R.15.01.005

4 etc...

Cada Folha parece com o mesmo número em cada folha 6. Eu preciso disso para alguma tarefa. e eu espero ter uma solução aqui.

    
por Wisnu Pramadya 25.11.2015 / 09:42

1 resposta

0

Existem duas maneiras de fazer isso.

Opção 1 (desajeitada e menos sofisticada, mas talvez mais fácil de seguir)

Como a função MATCH retorna #N/A (ou um erro) quando não consegue encontrar a correspondência em uma planilha específica, uma solução é agrupar ISNA em suas declarações aninhadas IF .

Eu dei um exemplo para as 3 primeiras planilhas aqui:

=IF(ISNA(MATCH(A2,'6(AKK)'!$A$1:$A$100,0)),IF(ISNA(MATCH(A2,'6(K3)'!$A$1:$A$100,0)),IF(ISNA(MATCH(A1,'6(KESLING)'!$A$1:$A$100)),"[See Note]","Kesehatan Lingkungan"),"K3"),"AKK")

Observação - continue incorporando as instruções IF(ISNA(MATCH ... aqui. No último, coloque "Gagal" neste local.

Como você pode ver, ficará muito longo e feio. Ainda vai funcionar.

Por fim, insira uma fórmula regular e não uma fórmula de matriz.

Opção 2 (mais sofisticada e eficiente, requer um pouco mais de entrada inicial)

  1. Definir um intervalo nomeado como sList com a fórmula =MID(TRANSPOSE(GET.WORKBOOK(1))&T(NOW()),FIND("]",TRANSPOSE(GET.WORKBOOK(1))&T(NOW()))+1,255) (veja mais sobre GET.WORKBOOK )
  2. Configure uma tabela de referência que tenha os nomes das planilhas com os valores de retorno correspondentes e defina este intervalo com um nome de valores_de_retorno

  • Insira esta fórmula (como uma matriz) na célula B1 =VLOOKUP(INDEX(sList,MATCH(TRUE,COUNTIF(INDIRECT("'"&sList&"'!$A$1:$A$100"),A1)>0)),return_value,2,0) e arraste as linhas para cada valor na coluna A
  • por 25.11.2015 / 15:44