Encontre a última linha na tabela ordenada para o valor correspondente

2

Eu tenho uma tabela no Excel, que por simplicidade vamos definir como:

Order# |   Date   | Price |
123    | 1-1-2013 | 100   |
135    | 1-2-2013 | 150   |
145    | 2-4-2013 | 100   |
145    | 2-5-2013 | 100   |
123    | 3-5-2013 | 250   |

Nesta tabela, o Número de Pedido é um valor recorrente com Data e Preço diferentes a cada vez (ou seja, faturamento de prestação). A tabela é classificada por Data mais antiga para mais recente. Não posso modificar ou reorganizar o conteúdo desta tabela de nenhuma maneira.

Eu tenho uma lista separada com uma amostra parcial de Order #, para a qual preciso consultar a tabela principal e retornar o valor Date da última instância correspondente do Order #. Por exemplo, se a amostra parcial de pedidos for (123, 135), a tabela será semelhante a:

Order# | Last_Match_Date |
123    | 3-5-2013        |
135    | 1-2-2013        |

Eu tentei usar a função vlookup(Order#,TableArray,DateColumn,false) , mas ela retorna o valor de data da primeira correspondência (data mais antiga) e preciso da última correspondência (data mais recente).

    
por Moses 01.04.2013 / 19:31

1 resposta

2

Na coluna Last_Match_Date , insira esta fórmula de matriz 1 e copie-o para baixo:

=MAX(IF(order_numbers=A2,dates,""))

Onde:

  • order_numbers refere-se à primeira coluna em seus dados de origem (nº do pedido)
  • dates refere-se à segunda coluna (Data)
  • A2 é o número do pedido que você está tentando pesquisar na lista separada

A fórmula retornará a data mais recente / mais recente , mesmo que seus dados de origem não estejam classificados.

Exemplo:

No exemplo abaixo, substituí order_numbers por $A$1:$A$6 & dates com $B$1:$B$6 .

-

1 Pressione Ctrl + Deslocar + Introduzir depois de inserir a fórmula

    
por 01.04.2013 / 20:01