Есть ли способ сопоставить имя и номер?

Для каждого нашего клиента мы связываем его имя с идентификационным номером в базе данных. Тем не менее, мы подписываем людей по имени. Я пытаюсь преобразовать имена в их идентификационный номер в электронной таблице.

У меня есть список всех имен и соответствующих идентификаторов. Я понимаю, что могу жестко закодировать это так, чтобы это выглядело примерно так:

 for (i=0; i < 31; i++) {
     if name = 'john doe'
        id = 256589
      elseif name = 'jane doe'
        id = 248352...}

и повторите это для каждого клиента. Я протестировал пару имен, и это решение работает. Поскольку у нас не так много людей, было бы невозможно просто повторить это. Тем не менее, я хотел бы знать, есть ли какие-либо ярлыки доступны.

Всего 1 ответ


Это зависит от того, где вы делаете этот поиск.

Это похоже на скрипт, поэтому вы можете использовать объект с именами в качестве ключей:

function getIdFromName(name) {
  // list of all employees and ids
  let employees = {
    "john doe": 256589,
    "jane doe": 248352
  }

  if (employees[name]) {
    return employees[name]
  } else {
    // this covers the case if name not found
    return false
  } 
}

// in rest of your code
var id = getIdFromName(name)

Если вы хотите выполнить поиск на листе, вы можете использовать таблицу поиска, содержащую имена и идентификаторы, а затем использовать VLOOKUP / INDEX (MATCH ()), чтобы найти соответствующий идентификатор.


Есть идеи?

10000