Я хотел бы создать настраиваемую функцию для электронной таблицы, которую я создаю для отслеживания вымышленной футбольной лиги. Мне нужно преобразовать полное имя в аббревиатуру, чтобы я мог настроить систему, в которой турнирная таблица должна проверять только результаты для «ABBR R», где R - это W (Win), L (Потеря) или T (Tie). Я знаю, что могу сделать это в обычном Excel, используя вложенную формулу if then else, но у меня есть шестнадцать команд для проверки, и это будет ужасно неэффективно.
=If(C6="Arizona Vipers","ARZ",If(C6="Atlanta Warriors","ATL",If(C6="Calgary Bandits","CGY",If(C6="Columbus Express","CLM",If(C6="Detroit Firebirds","DET",If(C6="Hartford Minutemen","HFD",If(C6="Montreal Bucks","MTL",If(C6="New Jersey Sharks","NJ",If(C6="Portland Beavers","POR",If(C6="Salt Lake City Rams","SLC",If(C6="San Antonio Knights","SA",If(C6="San Diego Sailors","SD",If(C6="St. Louis Eagles","STL",If(C6="Toronto Bulls","TOR",If(C6="Vancouver Timberwolves","VAN",If(C6="Vegas Aces","VEG",""))))))))))))))))
Я попытался создать VBA, чтобы посмотреть, смогу ли я получитьон распознает одну команду, используя этот метод.
Function checkTeam(a)
Dim abbr As String
Set abbrCell = Application.ThisCell
currCell = Application.ThisCell
If a = "Arizona Vipers" Then
currCell.Value = "ARZ"
End If
End Function
Я ожидаю, что ячейка с функцией checkTeam будет изменена на abbr, в данном случае «ARZ», но я не получаю вывод. Я не очень хорош в VBA и знаю, что что-то упустил.