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:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleomaterialefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- 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!