
Duas guias em uma planilha do Excel 2013. Uma guia é chamada de Dados de casas e a outra guia é chamada de Dados de classificações. A coluna O na guia Homes Data é uma lista de códigos postais e a coluna G na guia Ratings Data também contém uma lista de códigos postais. A coluna L na guia Dados de classificações contém uma lista de classificações.
Estou tentando criar uma correspondência/pesquisa/macro que identifique códigos postais correspondentes nas duas guias e, em seguida, procure a entrada correspondente na coluna L de dados de classificações e, em seguida, crie uma nova coluna AG na guia Dados de residências para registrar os dados junto com a correspondência código postal.
Responder1
Parece que você precisa de uma pesquisa relativamente simples. Nesse caso:
Você pode fazer pesquisas de duas maneiras:
VLOOKUP() que é fácil de aprender, mas de uso limitado
INDEX(MATCH()) que é mais difícil de aprender, mas mais flexível
Depende da sua preferência quanto ao que você usa.
A versão mais fácil é VLOOKUP, caso em que você colocaria esta fórmula na coluna AG da planilha Homes:
=VLOOKUP(
assim que você chegar até aqui, o Excel ajudará (um pouco!) dizendo o que você precisa em seguida - o texto flutuante dirá:
VLOOKUP(lookup_value , table_array , col_index_num , [range_lookup])
lookup_value é o seu código postal na planilha Casas
table_array é onde você está procurando, que são as colunas G a L da sua planilha de classificações - a limitação do VLOOKUP é que a coluna que você está procurando (código postal na planilha de classificações) deve estar à esquerda daquela que você quero saber sobre (classificação na planilha de classificações) que, felizmente para você, já é. Também tem que ser a coluna mais à esquerda, e é por isso que estamos selecionando as colunas G a L, não A a L, para que a coluna G (código postal) fique à esquerda do que estamos vendo.
col_index_num é o número da coluna que você deseja de volta. Então G = 1, H = 2, I = 3, J = 4, K = 5, L = 6. Então você quer 6, pois quer o que está na coluna L.
range_lookup é opcional, mas realmente importante. FALSE significa que fará uma correspondência exata, enquanto TRUE (que estranhamente é a configuração padrão) significa que fará uma correspondência aproximada. Se o seu código postal for 1245, você não deseja que ele encontre 1240 se 1245 não estiver lá, então você deseja FALSE aqui.
Então isso dá a você, se você estiver digitando na célula AG2:
=VLOOKUP(O2 , 'Ratings Data'!G:L , 6 , FALSE)
Isso trará de volta a classificação dos códigos postais na guia Casas. Se não conseguir encontrar o código postal, você receberá um erro NA, que pode ser resolvido usando IFNA() ou IFERROR() em seu VLOOKUP. Você também pode querer usar sinais $ para que, se você copiar a fórmula em outro lugar posteriormente, ela ainda observe as colunas G a L todas as vezes.
por exemplo
=IFERROR(VLOOKUP(O2 , 'Ratings Data'!$G:$L , 6 , FALSE),"Not found")
INDEX(MATCH()) funciona de forma semelhante e os técnicos tendem a preferi-lo, mas a maioria das pessoas não-técnicas com quem trabalho acham que é um passo longe demais para aprender e preferem começar com VLOOKUP, que faz o trabalho muito bem 99% das vezes para a maioria das aplicações de trabalho normais. Se você é um especialista em tecnologia, pesquise no Google por INDEX MATCH e provavelmente há algumas explicações decentes ;-)