Practice problems / Lookup & Reference

Convert at the rate in force on the invoice date (approximate VLOOKUP)

Hard Lookup & Reference Accounting pack
Description
Hints 0/4
Solutions 0
–
Test case
1
Reset
Submit
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
Loading interactive spreadsheet...
Preparing grid cells and formula calculation engine
○ Ready Enter formula in highlighted cells, then click Submit.

The problem

Problem statement

Amounts are in EUR in C2:C2 and the dated rate table is in F2:G4, sorted oldest first. Convert row 2 to GBP at the rate in force on its invoice date, rounded to two decimals, in the GBP cell D2.

The rate is the one in force on the invoice date, not today's rate and not the latest one.

Problem data

Show the sheet as a table (selectable, copyable)
The exercise data, as a table
ABCDFG
1InvoiceDateAmount (EUR)GBPRate dateGBP per EUR
2INV-9012026-02-1010002026-01-010.85
3INV-9022026-03-155002026-02-010.87
42026-03-010.9

Notes

A dated rate table is an approximate match: you want the last rate whose date is not after the invoice date, so VLOOKUP's fourth argument is TRUE and the table must stay sorted. Using FALSE finds nothing unless the invoice landed exactly on a rate date.

How to approach

Your answer goes in D2.

  1. Target cell is D2
  2. Look the invoice date up in F2:G4
  3. Approximate match, table sorted ascending
  4. Shape: =ROUND(?*VLOOKUP(?, ?, ?, ?), ?)

Function guide

Related practice

FAQ

How do I convert at a dated exchange rate?

=amount * VLOOKUP(invoice_date, rate_table, 2, TRUE) with the table sorted by date. Approximate match picks the last rate not after the date.

Why does my FX conversion return #N/A?

Either the table is not sorted, the date is before the first rate, or the fourth argument is FALSE and no date matches exactly.