Como o VLOOKUP, mas com mais

0

Então, eu tenho uma lista de pacientes. Depois, 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.

Portanto, na folha 1, tenho uma lista de pacientes e seus números de identificação (a ID do paciente é única): ID do paciente, nome do paciente

Em seguida, na planilha 2, tenho uma lista de pedidos de vendas (o ID do pedido de vendas é exclusivo, o ID do paciente não é): ID do paciente, ID do pedido de venda, Data do pedido de venda

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

Portanto, a planilha 1 seria semelhante a: ID do paciente, nome do paciente, data da ordem de venda 1, data da ordem de venda 2, nula (quando não houver mais nenhuma correspondência).

Eu li tudo o que posso encontrar no VLOOKUP e INDEX / MATCH e não consigo encontrar uma função que funcione onde há várias correspondências na segunda planilha (a ID do paciente seria a mesma repetidamente para cada venda ordem na folha 2).

Por favor ajude.

    
por Wes 06.06.2018 / 20:18

2 respostas

0

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

Etapa 1:

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

Etapa 2:

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

Copie a fórmula para baixo.

B é a coluna onde os números dos clientes são encontrados.

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 fórmula =B2&" "&X2

B é o número do cliente e X é a contagem de pedidos feita na etapa 2.

Etapa 4:

Na tabela de pacientes, adicione uma coluna que corresponda ao ID do pedido mais recente, ao segundo pedido mais recente etc. para retornar a data. Use um IFERROR() para retornar Um 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 C é a coluna com datas e Y é onde a chave na etapa 3 é.

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

Pedidos:

Pacientes:

    
por 22.06.2018 / 22:35
0

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


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

Matrizentra(Ctrl+Desloca+Enter)aseguintefórmulanacélulaC3daprimeirafolhaecopia-cola/PreencheremC3: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 estiver preenchida, poderá ser 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 esse for o caso:

Essa fórmula, matriz inserida em H3 e copiada-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")}
    
por 23.06.2018 / 04:25