如何根据历史转换率在 Excel 中转换货币?

如何根据历史转换率在 Excel 中转换货币?

我想在 Excel 中制作一个小程序,让用户可以将某些货币(美元、欧元、阿联酋迪拉姆、瑞士法郎和英镑)转换为科威特第纳尔。用户可以设置金额、货币和月份,程序会以科威特第纳尔给出答案。

我将汇率保存在单独的 Excel 文件中 - 每个月都在一个电子表格中,每个电子表格有两列,即货币和汇率。

我必须将给定货币的给定金额乘以给定月份的该货币汇率。我该怎么做?

答案1

你需要调查VLookupIndirect. VLookup允许您查询单元格中的值(在您的情况下为输入货币类型),并查找表格以找到该值并返回该表中不同列中同一行中的值(在您的情况下为汇率)。

Indirect允许您使用字符串作为工作表位置的引用。因此,如果单元格 A1 的内容 = 'X256',则可以使用公式=10*Indirect(A1),结果将是单元格 X256 中的内容乘以 10

假设用户填写的表单如下所示

            A          |      B      |          C           |         D
1     ConvertAmount    |   Month     |   ExchangeCurrency   |   ExchangeAmount
2          25.00       |    Jan      |        GBP           |

其余工作表的名称为 Jan、Feb、Mar、Apr 等,并按字母顺序显示货币类型,并在每张工作表的 A 列和 B 列中分别显示货币和汇率。

您可以在单元格 D2 中使用类似这样的公式:
=VLOOKUP(C2, INDIRECT(CONCATENATE(B2, "!A1:B5")),2, FALSE)*A2
来获取所需的结果。请注意,您需要将此范围设置为与要转换的货币数量相匹配。

您可能希望确保用户只能输入与您的设置相匹配的值,也许可以使用验证。例如,如果用户输入的是 January 而不是 Jan,则工作表引用技巧将不起作用。此外,如果用户输入的是 'Pounds Sterling' 而不是 GBP,则另一张工作表中的 VLookup 将不起作用。

相关内容