Você precisa investigar VLookup
e Indirect
. VLookup
permite que você consulte uma célula por um valor (no seu caso, a entrada Tipo Moeda), e procure uma tabela para encontrar esse valor e retornar o valor na mesma linha em uma coluna diferente nessa tabela (no seu caso) a taxa de câmbio).
Indirect
permite que você use uma string como referência para um local da planilha. Então, se o conteúdo da célula A1 = 'X256', você pode usar a fórmula =10*Indirect(A1)
e o resultado será o que estiver na célula X256 multiplicado por 10
Assumindo que a planilha que seu usuário preenche parece um pouco com isso
A | B | C | D
1 ConvertAmount | Month | ExchangeCurrency | ExchangeAmount
2 25.00 | Jan | GBP |
e o resto das planilhas são nomeadas Jan, Feb, Mar, Apr etc e têm o tipo de moeda em ordem alfa e moeda e taxa nas colunas A e B respectivamente de cada folha.
Você pode usar uma fórmula como: =VLOOKUP(C2, INDIRECT(CONCATENATE(B2, "!A1:B5")),2, FALSE)*A2
na célula D2 para obter o resultado desejado. Observe que você desejará definir esse intervalo para corresponder ao número de moedas que você está convertendo.
Você pode querer ter certeza de que o usuário só pode colocar valores que correspondam à sua configuração, talvez usando validação. Por exemplo, se o usuário digitar janeiro em vez de janeiro, o truque de referência de planilha não funcionará. Além disso, se o usuário digitar 'Libra esterlina' em vez de GBP, o VLookup na outra planilha não funcionará.