Última aparência do Excel de uma determinada string em uma coluna

0

Estou usando a função LOOKUP para encontrar a última aparição de uma determinada string em uma coluna fornecida, assim:

LOOKUP(A3;Runs!D3:D6;Runs!A3:A6)

No entanto, os limites no vetor são codificados: Runs! A3: A6 . Eu quero que este valor seja dinamicamente definido para a última célula com dados da coluna. Eu encontrei esta fórmula que dá o índice da última linha:

COUNTA(Runs!A:A)

Essa outra função me fornece a referência de célula (o conteúdo da célula), mas não consigo mesclar com a fórmula LOOKUP:

INDIRECT("Runs!A"&COUNTA(Runs!A:A))

Existe alguma maneira de definir o limite superior para LOOKUP dinamicamente?

EDIT: não há linhas em branco no intervalo de linhas.

Atenciosamente

    
por jmm 27.10.2014 / 15:39

3 respostas

0

Eu acabei fazendo isso. Obrigado a todos por seus comentários, a resposta do fixer1234 foi especialmente útil. O LOOKUP não estava dando resultados precisos, então eu mudei para um par INDEX / MATCH. Também foi adicionado um cheque N / A.

IF(ISNA(INDEX(INDIRECT("Runs!A3:A"&COUNTA(Runs!A:A)), MATCH(A3, INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D)), 0))), "", INDEX(INDIRECT("Runs!A3:A"&COUNTA(Runs!A:A)), MATCH(A3, INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D)), 0)))
    
por 31.10.2014 / 19:37
2

Eu entendi - o problema é fazer com que o seu intervalo dinâmico funcione como uma especificação de faixa no LOOKUP. Você estava quase lá. Tente isto:

    LOOKUP(A3;INDIRECT("Runs!D3:D"&COUNTA(Runs!D:D));Runs!A3:A6)
    
por 27.10.2014 / 17:07
1

a função offset () resolverá seu problema

substitua as corridas A3: A6 com OFFSET ($ A $ 3,0,0, COUNTA ($ A $ 3: $ A $ 1000), 1)

você pode se divertir com um link de

por 27.10.2014 / 16:32