No Excel, preciso encontrar dados na folha3 a partir de dados na folha1

0

Eu tenho uma pasta de trabalho do Excel com várias folhas. A coluna 'SheetA'!W:Wlista o texto que pode ser encontrado dentro de um cabeçalho de coluna na linha 'Sheet3'!1:1. Por exemplo, SheetA'!W42contém "B16". A célula Sheet3'!CB1possui o texto do cabeçalho "B16: Amostra 40", portanto seria a coluna de destino.

Exemplo: Amostra de 'SheetA'!W42

insira a descrição da imagem aqui

No 'SheetA'!CD42existe uma fórmula que calcula o número da amostra que tem de ser localizado em 'Sheet3'!A:A. Na amostra abaixo, CD42exibe o valor calculado "30", que pode ser encontrado em 'Sheet3'!A32.

Exemplo: Dados de amostra da Planilha3 exibindo os cabeçalhos e a interseção do cabeçalho da coluna (B16) e da linha que contém o número de amostra de interesse:

insira a descrição da imagem aqui

O objetivo é recuperar o conteúdo da célula na Planilha3 onde a coluna e a linha pesquisadas se cruzam e exibi-lo em uma célula na PlanilhaA. Na amostra fornecida, na 'Sheet3'!CB:CBinterseção linha 32 e na folha A, o valor "0,1950581843" seria exibido.

Alguém sabe como isso pode ser feito?

user3857791
fonte
Eu já li isso várias vezes e ainda estou confuso com o que você está tentando fazer? Sim, você pode ter uma referência de célula simples entre planilhas, por exemplo: = Planilha1! A2, mas é tão simples que acho que o que você está tentando perguntar é como fazer pesquisas de tabela em uma planilha de uma tabela localizada em outra planilha?
Tyson
@ Tyson Acho que vou tentar reescrever isso com a sintaxe de referência de célula adequada do Excel e encapsular todo o conteúdo da célula entre aspas. Talvez isso ajude. Também estou com vinte tipos de confusão.
Iszi
Está bem. Fiz o que pude para consertar. Ainda confuso como o inferno. Além disso, o Excel não é um banco de dados!
Iszi
Sim, é uma pesquisa de tabela que estou tentando realizar, mas não tinha certeza se isso exigia vlookup, hlookup ou se havia uma solução mais fácil. Tentarei desembaraçar a pergunta para facilitar a compreensão do meu pedido.
user3857791
@ user3857791 Não, eu deixaria como está. Agora que eu já vi isso com as fotos incorporadas em linha e as referências de célula apropriadas, acho que já entendi.
Iszi

Respostas:

1

Dados os dados acima, vou fazer algumas suposições. Se tudo isso for verdade, um HLOOKUPpode resolver facilmente seu problema. Caso contrário, pode ser necessária uma cadeia de funções mais complexa.

Premissas:

  1. Todos os textos de cabeçalho relevantes 'Sheet3'!1:1são absolutamente exclusivos nessa linha.
  2. Todos os textos de cabeçalho relevantes 'Sheet3'!1:1estão no formato "[X]: [Y]", onde:
    • [X] é um valor que pode ser encontrado em 'SheetA'!W:W.
    • [Y] é o valor em 'SheetA'!X:Xque está na mesma linha que [X].
  3. Todos os valores possíveis em 'SheetA'!CD:CDsão pesquisáveis 'Sheet3'!A:A, de forma que estejam na mesma linha que os dados que devem ser recuperados.
    • Estou apenas colocando isso porque notei que parece haver alguma repetição desses valores na Planilha3 e queria garantir que não houvesse condições sob as quais você poderia estar procurando por um valor 'SheetA'!CD:CDque deveria corresponder a outra coluna em vez disso (e, portanto, pode produzir resultados imprecisos se corresponder 'Sheet3'!A:A).
    • Se a repetição for estritamente para facilitar a leitura, posso sugerir o uso do recurso "Congelar painéis"?
  4. Todos os valores relevantes em 'Sheet3!A:A'são perfeitamente sequenciais, começando com "1" em 'Sheet3'!A3, nunca se repetindo nessa coluna e sempre classificados em ordem crescente.

Dadas as premissas acima, criei minhas próprias planilhas com dados de amostra que representam aproximadamente o seu cenário.

Aqui está uma captura de tela parcial do meu "Sheet3".

insira a descrição da imagem aqui

E uma foto parcial do meu "SheetA".

insira a descrição da imagem aqui

Lista de análogos:

  • Folha3
    • Meu A: A = Seu A: A, BY: BY :, CA: CA :, ...
    • Meu B: B, C: C, D: D, ... = Seu B: B, BZ: BZ, CB: CB, ...
  • SheetA
    • Meu A: A = Seu W: W
    • Meu B: B = Seu X: X
    • Meu C: C = Seu CD: CD
    • Meu D: D = Qualquer coluna em que você deseja soltar os dados encontrados.

Como você pode ver na segunda captura de tela, a fórmula para D2 é:

=HLOOKUP(CONCATENATE(A2,": ",B2),Sheet3!A:Y,C2+2,FALSE)

Passo a passo da fórmula:

O HLOOKUP permite procurar horizontalmente um intervalo de células em busca de um valor e, em seguida, retornar o valor de uma célula na mesma coluna com base em uma posição de linha relativa. São necessários quatro argumentos, três dos quais são obrigatórios: lookup_value , table_array , row_index_num , [range_lookup] . Essa é a fórmula que fará o trabalho de localizar os dados desejados na Planilha3 e puxá-los para uma célula na PlanilhaA.

  • lookup_value é o valor que você desejaHLOOKUPencontrar primeiro. Este valor deve estar presente na primeira linha da matriz_tabela , porque essa é a única linha que será pesquisada. HLOOKUPtambém retornará apenas a primeira correspondência, portanto esses valores também devem ser exclusivos. Aqui, estamos usandoCONCATENATEpara criar nossa string de pesquisa.
    • CONCATENATE permite reunir várias cadeias e valores em uma cadeia. Ele aceita uma série de argumentos, ordenados de acordo com a sequência na qual eles devem ser colocados na sequência resultante.
      • A2 é o nosso primeiro argumento para CONCATENATE. A primeira parte da nossa string será o "Nome da amostra" em A2.
      • ":" é o nosso segundo argumento para CONCATENATE. Isso coloca os dois pontos e o espaço na string, para corresponder ao formato dos valores 'Sheet3'!1:1.
      • B2 é o nosso último argumento para CONCATENATE. Ele puxa o "ID da amostra" de B2 para completar a sintaxe usada para os cabeçalhos 'Sheet3'!1:1.
  • table_array é uma referência a um intervalo de células com as quais você desejaHLOOKUPtrabalhar. Lembre-se de que a primeira linha deve ser a que conterá lookup_value . Esse intervalo também deve abranger todos os valores possíveis para row_index_num .
    • Folha3! A: Y é uma referência a todas as células nas colunas A a Y (as únicas preenchidas na minha Folha3), da Folha3. Isso garante que todos os dados adicionados em novas linhas posteriormente também estejam no escopo da pesquisa. Se os dados fossem adicionados em novas colunas em vez de linhas, eu gostaria de usar a referência Sheet3!1:32(atualmente, 32 é a última linha preenchida na minha Planilha3). Se os dados puderem ser adicionados por novas colunas e novas linhas, eu faria referência à planilha inteira com Sheet3!1:1048576ou Sheet3!A:XFD. (Nota: a referência "folha inteira" é válida para o Excel 2013. As versões anteriores podem ter limitações menores de linha / coluna - ajuste 1048576ou XFDconforme apropriado.)
  • row_index_num é um número inteiro positivo que representa uma posição de linha em relação à linha superior na matriz de tabela . Isso informaHLOOKUPqual célula você deseja retornar da coluna correspondente. Note-se que, porqueHLOOKUPsó procura valor_procurado na primeira linha de matriz_tabela , e núm_índice_lin não pode ser negativo, você não pode usarHLOOKUP(pelo menos, não por si só) para devolver informações a partir de células que estão acima valor_procurado .
    • C2 + 2 - Como todos os valores em 'Sheet3'!A:Asão perfeitamente sequenciais, sem números inteiros ignorados e sempre serão ordenados em ordem crescente, podemos usar esses valores (também representados em 'SheetA'!C:C) como indicadores dos números de linha dos dados que queremos encontrar. O +2que há para explicar o fato de que a numeração começa com "1" na linha 3 da Sheet3.
  • [range_lookup] é um argumento opcional paraHLOOKUP. As opções são TRUE ou FALSE, para indicar se você deseja permitir que correspondências aproximadas sejam válidas ou se apenas correspondências exatas devem ser permitidas. O padrão do Excel é TRUE (correspondência aproximada) se esse argumento for omitido, o que geralmente pode resultar em comportamento indesejado - especialmente se a planilha não for classificada de determinadas maneiras. Portanto, especificamos FALSE aqui para garantir queHLOOKUPapenas apareça uma correspondência exata.

Adaptando o acima ao layout da sua planilha, acredito que esta é a fórmula que você precisará para a célula 'SheetA'!CE42(assumindo que é onde você deseja que os dados sejam inseridos):

=HLOOKUP(CONCATENATE(W42,": ",X42),Sheet3!A:CB,CD42+2,FALSE)

Observe que, se seus dados na Planilha3 forem mais à direita do que a coluna CB e / ou os dados puderem ser adicionados a outras colunas, convém ajustar a matriz de tabela de acordo.

Iszi
fonte