Estou tentando corresponder com base em uma referência de célula dinâmica com a função de correspondência

0

= MATCH (B $ 4, CONCATENATE ("'", A5, "'! $ E: $ E"), 0)

O resultado da fórmula acima é de #VALUE!

A célula A5 tem o valor Folha1, no entanto, após o teste, isso será alterado para uma data, por exemplo, 01-jul-14

O que estou fazendo de errado?

Eu vou usá-lo como parte de um para construir uma tabela de dados a partir de folhas diárias, por exemplo INDIRECTO (CONCATENAR ("'", A5, "'!", CONCATENAR ("E", PARTIDA (B $ 4, Folha1! $ E: $ E, 0) )))

    
por Rachel 25.06.2014 / 07:24

1 resposta

0

Primeiro de tudo, você precisa usar INDIRECT em sua primeira fórmula. O segundo argumento para MATCH precisa ser um array, e você está passando uma string para ele. Mude para

=MATCH(B$4, INDIRECT(CONCATENATE("'", A5, "'!$E:$E")), 0)

Em segundo lugar, na segunda fórmula, você está chamando CONCATENATE e passando seu valor de retorno para outro CONCATENATE . Isso é completamente desnecessário (ou seja, desnecessariamente complicado). Você pode mudar

CONCATENATE("'", A5, "'!", CONCATENATE("E", MATCH(B$4,Sheet1!$E:$E,0)))

para

CONCATENATE("'", A5, "'!", "E", MATCH(B$4,Sheet1!$E:$E,0))

Além disso, o Excel usa & como um operador de concatenação, para que você possa substituir o acima com

"'" & A5 & "'!" & "E" & MATCH(B$4,Sheet1!$E:$E,0)

Acho que é mais fácil de ler, mas isso é uma questão de opinião.

    
por 26.06.2014 / 23:00