Como VLOOKUP, mas com mais

Como VLOOKUP, mas com mais

Então, eu tenho uma lista de pacientes. E então tenho uma lista de pedidos de vendas que correspondem às visitas clínicas que eles precisavam receber. Estou querendo ver quem foi visto e quem não foi.

Então, na folha 1 eu tenho uma lista de pacientes e seus números de identificação (o ID do paciente é único): ID do paciente, Nome do paciente

Então, na planilha 2, tenho uma lista de pedidos de vendas (o ID do pedido de vendas é único, o ID do paciente não é): ID do paciente, ID do pedido de vendas, data do pedido de vendas

O que eu quero fazer é que o Excel analise os pedidos de vendas na planilha 2, descubra onde o ID do paciente corresponde e, em seguida, traga as datas em sequência.

Assim, a Planilha 1 ficaria assim: ID do Paciente, Nome do Paciente, Data do pedido de venda 1, data do pedido de venda 2, nulo (quando não houver mais correspondências).

Eu li tudo o que encontrei sobre VLOOKUP e INDEX/MATCH e não consigo encontrar uma função que funcione onde há várias correspondências na segunda planilha (o ID do paciente seria o mesmo repetidamente para cada pedido de venda na planilha 2).

Por favor ajude.

Responder1

Aqui está uma solução que não requer colunas auxiliares ou classificação de nenhuma tabela. Ele usa apenas uma fórmula de matriz relativamente simples.


Configure as duas planilhas como a seguir, com a segunda planilha chamada Sheet2:

Captura de tela da planilha 1

Captura de tela da planilha 2

Matriz insira ( Ctrl+ Shift+ Enter) a seguinte fórmula na célula C3da primeira planilha e copie e cole/preencha em C3:G7:

{=IFERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),C$2),"")}


Esteja ciente de que se a última célula Data da tabela Pacientes na Planilha 1 for preenchida,poderiahaverá mais datas que não estão sendo exibidas. Na planilha de exemplo, adicionei uma fórmula na coluna à direita da tabela para avisar se for esse o caso:

Essa fórmula, matriz inserida H3e copiada e colada/preenchida em H3:H7, é:

{=IF(ISERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),G$2+1)),"","more")}

Responder2

Isso pode ser resolvido contando os pedidos por cliente. Existem muitas variações de como você pode usar para resolver isso, mas aqui está uma.

Passo 1:

Classifique sua tabela de pedidos primeiro com os pedidos mais recentes.

Passo 2:

Adicione uma coluna no final de seus pedidos de vendas com uma fórmula que conte o número de clientes. Na nova coluna, segunda linha, escreva a fórmula =Countif(B$2:B2,B2).

Copie a fórmula.

Bé a coluna onde se encontram os números dos clientes.

Etapa 3:

Adicione uma coluna com uma chave exclusiva para identificar o número do cliente e a contagem de pedidos. Na segunda nova coluna, segunda linha, escreva a fórmula=B2&" "&X2

Bé o número do cliente e Xa contagem do pedido que você fez na etapa 2.

Passo 4:

Na tabela de pacientes, adicione uma coluna que corresponda ao ID do pedido mais recente, do segundo pedido mais recente, etc., para retornar a data. Use an IFERROR()para retornar A em branco se não houver correspondência e use referências absolutas para que as fórmulas possam ser facilmente copiadas:

(Tentei traduzir a fórmula do meu Excel norueguês)

=IFERROR(INDEX('Order list'!$C:$C,MATCH('Patient list'!$A2&" "&'Patient list'!B$1,'Order list'!$Y:$Y,0)),"")

onde Cestá a coluna com as datas e Yé onde está a chave do passo 3.

Espero que isso possa colocá-lo no caminho certo para encontrar uma solução personalizada para suas mesas. Provavelmente você pode automatizar as fórmulas na tabela de pedidos, etc.

Pedidos:

Captura de tela da tabela de pedidos

Pacientes:

Captura de tela da tabela de pacientes

informação relacionada