Valor de pesquisa do Excel em 3 colunas e valor de retorno da 3ª coluna?

3

Estou tentando pesquisar um valor encontrado em uma das três colunas. Depois de encontrar o valor em uma das três colunas, quero retornar o valor da terceira coluna. Como eu faço isso. Veja abaixo.

Code1 Code2 Code3 80281752 5000973 5000981 80281753 5000974 5000974 80281896 5000993 5000995 80281897 5000976 5000976 5000977 5000977 5000977

Por exemplo, eu quero querer procurar 80281896 (encontrado na primeira coluna) e tê-lo retornar 5000995; Ou procure 5000973 (encontrado na segunda coluna) e tenha o retorno 5000981; Ou procure 5000980 (encontrado na 3ª coluna) e retorne a 3ª coluna. A pesquisa precisa pesquisar todas as 3 colunas e retornar o valor na terceira coluna. Estou perplexo!

Obrigado.

    
por Rose M 23.01.2018 / 12:37

2 respostas

2

Tente esta solução. Neste exemplo, os dados de amostra estão nas células B3: D7. Para esta fórmula funcionar, você deve deixar uma célula antes dos dados, que geralmente são a sua linha de cabeçalho, de qualquer forma.

No E3, coloque o valor de pesquisa.

Em F3, ponha a seguinte fórmula.

=IFERROR(INDEX(D3:D7,SUMPRODUCT((B3:D7=E3)*(ROW(B3:B7)-ROW($B$2)))/SUMPRODUCT(((B3:D7=E3)*1))),"Not Found")

Esta fórmula usa SUMPRODUCT para obter o número relativo de ROW e agrupada em INDEX na terceira coluna recupera o valor da terceira coluna.

    
por 23.01.2018 / 15:49
1

Coloque o valor de pesquisa em D1 e em E1 digite:

=INDEX(C1:C6,IFERROR(IFERROR(MATCH(D1,C1:C6,0),MATCH(D1,B1:B6,0)),MATCH(D1,A1:A6,0)))

Primeiro, tente corresponder à coluna C ; se isso falhar, tente a coluna B ; se isso falhar, tente a coluna A .

EDIT#1:

Aquiestáumaferramentamaisgeral.(paratabelascommuitascolunas,oaninhamentoseráproblemático)

Digamosquetemosumatabelabidimensionaldetamanhoarbitrárioemalgumlugardaplanilha.Queremosprocurarumvaloreretornarovalornaúltimacolunadessatabela.Digiteaseguintefunçãodefinidapelousuárioemummódulopadrão:

PublicFunctionLastKolumn(vAsVariant,rngAsRange)AsVariantDimnRowAsLong,nKolumnAsLongnKolumn=rng.Columns.Count+rng.Column-1nRow=rng.Find(what:=v,after:=rng(1)).RowLastKolumn=rng(nRow,nKolumn)EndFunction

FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:

  1. ALT-F11exibeajaneladoVBE
  2. ALT-IALT-Mabreumnovomódulo
  3. coleomaterialefecheajaneladoVBE

Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx

PararemoveroUDF:

  1. abrirajaneladoVBEcomoacima
  2. limpeocódigo
  3. fecheajaneladoVBE

ParausaroUDFdoExcel:

=LastKolumn(A1,B1:Z100)

Parasabermaissobremacrosemgeral,consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 23.01.2018 / 15:59