Eu tenho vários "Tipos de chamada" (de "Roaming" a "Internacional") e preciso de um vlookup para aplicar a taxa correta, dependendo do tipo em uma macro do Excel.
Qual é a melhor prática para fazer isso?
Se CategoryType = "Roaming" AND País coainted na lista A Então
Se a lista B Então
Eu uso matrizes? Como você verifica se uma string está em uma matriz em uma instrução IF?
Resolvido: usei Case e incluí sub-casos para atribuir uma nova categoria:
Select Case otype
Case "International"
Select Case country
Case "Australia", "China", "Singapore"
ActiveCell.Offset(0, 68).Value = "R01"
Case Else
ActiveCell.Offset(0, 68).Value = "R02"
End Select
End Select
Respostas:
1 para resposta № 1Você pode usar algo como a seguinte fórmula (fórmula da matriz, use Ctrl + Shift + Enter para aplicar)
=MAX((B4:B7=B10)*(IF(ISERROR(SEARCH(B11,C4:C7)),0,1))*D4:D7)
O único problema é que você pode obter um resultado falso se o país que você está procurando for uma substring de outro país. A única correção para isso seria colocar todos os nomes de países como |France|Canada|UK|
e adicione os tubos ao redor da entrada do país de pesquisa.
0 para resposta № 2
Também poderia haver outra opção. Ao lidar com esses cálculos, tento evitar colocar vários valores em um único campo. Em vez disso, tento tratá-lo como um banco de dados: