Есть ли способ сопоставить имя и номер? - PullRequest
0 голосов
/ 16 января 2020

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

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

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

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

1 Ответ

1 голос
/ 16 января 2020

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

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

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 ()), чтобы найти соответствующий идентификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...