Index Match em várias colunas

3

Eu tenho duas folhas uma: com duas colunas de lugares e uma terceira coluna com a quilometragem entre esses lugares:

Naoutraplanilha,eutenhoumalistasuspensadoslugaresnacolunaFolha1AeoutracolunacomumalistasuspensadoslugaresnacolunaFolha1B,eumaterceiracolunaquecorrespondeaoíndiceprocuraacolunamilhagemdaFolha1colunaC.

Naminhafórmuladecorrespondênciadeíndice,queropoderpesquisaroslocais,independentementedacolunanaprimeirafolha.

Porexemplo,euqueroqueeleencontreumacorrespondênciaparaoOfficecomAppleBlossomeAppleBlossomparaoOffice.

Agoraestouusandoafórmula:

=ArrayFormula(iferror(ArrayFormula(INDEX('CopyofLocationtoLocation'!C:C,MATCH('TravelForm17-18'!B8&'TravelForm17-18'!C8,'CopyofLocationtoLocation'!A:A&'CopyofLocationtoLocation'!B:B,0))),""))

mas isto apenas procura o Office para o Apple Blossom e não o contrário. É possível adicionar outra fórmula de correspondência que pesquise ambas as colunas sem precisar inserir os dados nas duas colunas da planilha 1?

    
por Lauren McCoy 10.09.2017 / 02:43

1 resposta

1

Primeira regra da ciência dos foguetes: as coisas simples são mais fáceis do que as complexas.

Recriei seu problema em uma única folha então eu não teria que usar nomes de folhas em todos os lugares. Colunas A - C correspondem às Colunas A - C na sua Planilha1 (a.k.a. 'Copy of Location to Location' ) e colunas AA - AE correspondem às colunas A - E na sua planilha2 (a.k.a. 'Travel Form 17-18' ). Reduzi sua fórmula (que você usa em Sheet2!E8 ) para

=IFERROR(INDEX(C:C, MATCH(AB8&AC8, A:A&B:B, 0)), "")

que eu coloquei no meu AE8 . É muito mais fácil entender quando a desordem é removida.

E a lógica não é ciência de foguetes. Se FROM&TO não estiver na tabela "Local para local", queremos pesquisar por TO&FROM :

=IFERROR(INDEX(C:C, IFERROR(MATCH(AB8&AC8, A:A&B:B, 0), MATCH(AC8&AB8, A:A&B:B, 0))), "")

é a fórmula que tenho na célula AE8 nesta captura de tela:

EstamosaparentementeusandoversõesdiferentesdoExcel.NãoconsigodizerArrayFormula(…)nomeu(Excel2013);EuapenasdigitoCtrl+Deslocamento+Enterdepoisdeumafórmulaparatorná-loumafórmuladematriz.EntãoeunãoseiexatamentecomoissofuncionaArrayFormula(…)(temcertezadequeprecisausá-loduasvezesemsuafórmula?).Masaquiestáaminhasolução(decima)traduzidodevoltaemseusnomesdecolunaecoluna:

=IFERROR(INDEX(C:C,IFERROR(MATCH('TravelForm17-18'!B8&'TravelForm17-18'!C8,'CopyofLocationtoLocation'!A:A&'CopyofLocationtoLocation'!B:B,0),MATCH('TravelForm17-18'!C8&'TravelForm17-18'!B8,'CopyofLocationtoLocation'!A:A&'CopyofLocationtoLocation'!B:B,0))),"")

Eu vou deixar você descobrir onde você precisa dizer ArrayFormula(…) .

    
por 10.09.2017 / 08:43