Encontre o último valor em um intervalo de células que atenda a uma condição

3

Estou procurando uma fórmula no LibreOffice Calc para encontrar o último valor em um intervalo que atenda a uma condição. Aqui estão os dados de amostra:

A         B             C           D                E                 F
Date      US Amount     Currency    Local Amount     Exchange Rate     Reconciled
01/01/01  $1000.00      GBP         654 GBP          1.53              x
01/05/01  $1000.00      EUR         757.12 EUR       1.32              x
01/18/01  $1000.00      GBP         688 GBP          1.45              x
01/19/01  $1000.00      EUR         763.36 EUR       1.31              x
01/28/01  $1000.00      GBP         675.58 GBP       1.48
01/29/01  $1000.00      EUR         778.87 EUR       1.28

Então, estou procurando uma fórmula que puxe a última taxa de câmbio reconciliada da moeda apropriada. (Nesse caso, por EUR, seria puxado 1,31, pois o 1,28 ainda não foi reconciliado.) Parece que no Excel eu posso usar a função DLAST, no entanto, isso não parece ter sido implementado no LibreOffice .

Alguma solução alternativa para o LibreOffice?

Todos os leões
fonte

Respostas:

1

Sim - você pode usar a MATCHfunção para encontrar a última linha que corresponde a um determinado critério . Dessa forma, você pode calcular o com OFFSETbase na primeira linha. Seria assim:

=OFFSET(E2;(MATCH("x";F1:F100;-1)-1);0;1)

Ou, com algumas quebras e comentários inseridos:

=OFFSET(              // find Offset ...
    E2;               // ... starting from first exchange rate ...
    (                 // ... and go down some rows:
        MATCH(        // get row of last reconciled rate using MATCH:
            "x";      // search for "x" ...
            F2:F100;  // in F1 to F100 (make sure that the range covers all rates!)
            -1        // assuming a descending sort order. So, the last of a sequence
                      // of identical values is the "first" one.
        )-1           // MATCH would return 4, so OFFSET would point to 5,
                      // so reduce by -1
    );
    0;                // no "horizontal" offset (stay in the same column)
    1)                // return only one cell
tohuwawohu
fonte
1
Sim, com base nos dados de amostra que funcionariam para a última taxa de câmbio do euro reconciliada, no entanto, isso não funcionaria para a última taxa de câmbio da libra reconciliada. Isso sempre me daria a última taxa de câmbio reconciliada, independentemente de qual moeda seja. Eu acho que é mais que existem duas condições - uma, se a taxa de câmbio foi "reconciliada" ou não, e duas, qual é a taxa de câmbio. Isso faz sentido?
Allez les lions
Ah, ok, vou tentar integrar uma pesquisa para a moeda na fórmula. Você está completamente certo, minha fórmula apenas verifica a última taxa reconciliada, independente da moeda.
tohuwawohu
Ok, adicionei colunas ocultas para cada moeda rastreada para cada moeda quando elas foram reconciliadas para que eu pudesse usar a fórmula MATCH que você criou de acordo. É menos que o ideal, mas funciona e eu acho que é provavelmente a melhor opção. Obrigado.
Allez les lions