Como preencher dinamicamente uma lista de filtros com “primeira correspondência” em uma linha, usando o excel 2007

0

Aimageméumexemplodoqueestoutrabalhando.Euestoutentandoescreverumafórmulanaminhacolunamaisàesquerda,apenassobacélulalistboxquevocêpodever,queencontraráumacorrespondênciadeseqüênciadecaracteres/valornessalinha.Euchameide"x" na imagem.

É claro que vou copiar essa fórmula para outras linhas abaixo também. Eu pretendo usar essa "primeira correspondência" para preencher a lista de filtros (célula da caixa de listagem) que você pode ver na coluna mais à esquerda.

Até agora, eu tentei variantes de Hlookup e Vlookup, mas não foi bem-sucedida. Como posso fazer isso funcionar?

EDIT 1: O valor "x" em si é o valor de retorno. ( Incorreto! Por favor, veja o EDIT 3 )

EDIT 2: Fórmulas usadas - Faremos isso mais tarde. O arquivo excel está em outra máquina que não consigo acessar agora.

EDIT 3 : Desculpe. Eu realmente gostaria que o valor de retorno fosse a data correspondente. Por exemplo, na primeira linha, o valor de retorno depois de encontrar a "correspondência" seria 19. E assim por diante. Ter a data em vez de x faz mais sentido para mim agora, porque em algumas colunas, o "x" pode ser até o final de setembro, e em alguns outros pode ser em junho. Vou formatar os números para serem "dd-mon" para maior clareza nas revisões futuras da minha planilha.

    
por Surio 26.05.2014 / 16:45

3 respostas

0

Use

=Match("x",1D array)

para retornar a primeira correspondência na matriz classificada.

Adicionado:

= Offset(Date Row,0,Match("x",1D array)-1)

    
por 26.05.2014 / 18:57
0

HLOOKUP procura correspondências e retorna o que está ocorrendo, ou abaixo da correspondência, se encontrado.

Você pode usar INDEX e MATCH como uma alternativa tão rápida (se não um pouco mais rápida).

=INDEX($T3:$AP3, MATCH("x", T4:AP4, 0))

Altere o intervalo de acordo.

Se sua string pudesse ser qualquer coisa, menos uma célula em branco, você poderia usar:

=INDEX($T3:$AP3, MATCH(true, INDEX((T4:AP4<>""),0), 0))
    
por 26.05.2014 / 19:39
-1

= SE (MÉDIA (pesquisa (2,1 / C44: C46 < > "") = 1,2, SUM (LOOKUP (2,1 / D44: D46 < > ""), 0))) SE (MÉDIA (pesquisa (2,1 / C44: C46 < > "") = 1, SUM (LOOKUP (2,1 / D44: D46 < > ""), 0)))

correspondência de entrada da última linha exemplo 1 ou 2 , corrija a fórmula

    
por 21.10.2014 / 09:36