Excelで数百人分の名前に特定の数字を設定する場合、手作業で入力するのは大変です。しかし、関数やVBAを使うことで自動化が可能です。
方法1: VLOOKUP関数を使う
まず、別シートに名前と対応する数字を一覧表として作成します。例えば、Sheet2のA列に名前、B列に番号を入力します。
次に、対象のシートで以下のように入力します:=VLOOKUP(A2,Sheet2!A:B,2,FALSE)
A2は対象シートの名前セル、Sheet2!A:Bは名前と番号の一覧範囲、2は番号列、FALSEは完全一致を意味します。
方法2: IF関数の組み合わせ
名前が少数であればIF関数で対応できます:=IF(A2="田中",1,IF(A2="佐藤",2,IF(A2="鈴木",3,"")))
ただし、名前が多い場合はVLOOKUPやXLOOKUPの方が管理しやすいです。
方法3: XLOOKUP関数(Excel 365以降)
XLOOKUPを使うと、範囲外の場合にエラー処理も簡単にできます:=XLOOKUP(A2,Sheet2!A:A,Sheet2!B:B,"番号なし")
方法4: VBAで自動割り当て
大量データや自動処理が必要な場合はVBAを使用します。以下のサンプルコードで、名前を検索し対応する番号をセルに自動入力できます:
Sub AssignNumbers()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Dim i As Long
For i = 2 To lastRow
Select Case ws.Cells(i, 1).Value
Case "田中": ws.Cells(i, 2).Value = 1
Case "佐藤": ws.Cells(i, 2).Value = 2
Case "鈴木": ws.Cells(i, 2).Value = 3
'必要に応じて追加
End Select
Next i
End Sub
まとめ
ExcelではVLOOKUPやXLOOKUPを使うことで、大量の名前に対応する数字を効率的に設定できます。少数の場合はIF関数でも対応可能ですが、管理しやすさと拡張性を考えると一覧表と関数を組み合わせる方法がおすすめです。大量のデータや自動化が必要な場合はVBAを活用するとさらに便利です。


コメント