de qualquer forma para tornar este código menor?

0

Eu criei uma fórmula cujo índice corresponde a diferentes folhas de trabalho e as adiciona juntas.

Existe alguma maneira possível para tornar a codificação menor ou melhor? Eu tentei e falhei, mas não obtive resultados: (

.

Eu tenho o seguinte código:

=IFERROR(INDEX('Report 1'!BC:BC,MATCH(B13,'Report 1'!$A:$A,0)),"0")
+IFERROR(INDEX('Report 2'!BC:BC,MATCH(B13,'Report 2'!$A:$A,0)),"0")
+IFERROR(INDEX('Report 3'!BC:BC,MATCH(B13,'Report 3'!$A:$A,0)),"0")
+IFERROR(INDEX('Report 4'!BC:BC,MATCH(B13,'Report 4'!$A:$A,0)),"0")
+IFERROR(INDEX('Report 5'!BC:BC,MATCH(B13,'Report 5'!$A:$A,0)),"0")
    
por SSP 28.08.2018 / 14:58

2 respostas

1

Para obter resultados de sua fórmula, remova o " de todo o 0 , para que a fórmula não esteja tentando adicionar strings de texto.

mas podemos encurtar a fórmula com um 3D SUMIF

Com os nomes das folhas desejadas em uma lista e faz referência a elas com INDIRECT em um SUMIF:

=SUMPRODUCT(SUMIF(INDIRECT("'" & D1:D5 & "'!A:A"),B13,INDIRECT("'" & D1:D5 & "'!BC:BC")))

    
por 28.08.2018 / 15:11
0

Is there anyway possible to make the coding smaller or better?

Na verdade não: (

Embora você possa usar algumas soluções alternativas:

  • intervalo nomeado : você pode definir nomes para seus intervalos e referenciá-los
  • support cell: use outra célula para armazenar o resultado da sua função MATCH , portanto, não é necessário executá-la várias vezes
  • UDF: use uma macro para criar uma função definida pelo usuário na qual você pode escrever um código mais agradável do que sua fórmula atual
por 28.08.2018 / 15:07