Excel使用歴約20年の杉山貴隆です。
今回はExcel関数を使って繰り返し入力の手間を劇的に減らす方法を解説します。3つの関数を具体的な活用シーンに沿って紹介します。ぜひ参考にしてみてください。
【REPT関数】評価を★の数で表示しよう
REPT関数は指定した回数だけ文字列の表示を繰り返す関数です。この関数は「評価素点を★マークで表示する」といったケースで繰り返し入力の手間を減らしてくれます。
たとえば次のような「商品名ごとの評価素点を記した表」があったとしましょう。
そしてこの表の「評価素点」の部分を次のように「★」の数で表したくなったとします。
でも「★」を手作業で繰り返し入力するのはあまりにも手間がかかりますよね。そこでREPT関数を使うと簡単です。次の手順を実施してください。
C2に「=REPT("★",B2)」と入力します。
セルを確定すると「★」が4個表示されます(REPT関数がB2セルの評価素点4を回数とみなして、その回数分「★」を繰り返して表示しています)。
C2を起点として下方向にオートフィルをかければ、他の商品の評価素点も同様に「★」で表示されます。
【VLOOKUP関数】
VLOOKUP関数は表を縦方向に検索し、検索中の値が見つかった場合はその値に対応づけられたデータを取り出す関数です。
初級編:商品名で検索して単価データを取り出そう
VLOOKUP関数は「単価一覧表を参照して販売実績表に単価を入力する」といったケースで繰り返し入力の手間を減らしてくれます。
たとえば次のような「時系列で販売実績を記録した表」があるとして、一番右の「単価」の空欄を埋めたいとしましょう。
商品ごとの単価を記した一覧表は隣に用意されているとします。
左側の単価一覧を目視で確認しながら、右側の販売実績表の単価欄をひとつひとつ手作業で埋めることも不可能ではありません。でも手間がかかりますし、そういう作業を人がやると必ずいつか間違えます。
そこでVLOOKUPを使って自動的に単価を入力しましょう。次の手順を実施します。
G2に「=VLOOKUP(E2,A:B,2,FALSE)」と入力します。
(この数式の意味は「E2に記された商品名(ラムネ味やきいも)をA~B列の表中で検索し、商品名が見つかったら2列目のデータをとる」というものです。)セルを確定すると、ラムネ味やきいもの単価である「300」が正しく表示されました。
G2セルを起点として下方向にオートフィルをかければ他の商品の単価が自動的に表示されます。
応用編:商品名をn回縦方向に繰り返そう
VLOOKUP関数を応用すると「任意の文字列を指定した回数分、縦方向に繰り返し表示する」こともできます。例として次の表を見てください。
A~B列で「商品名」と「繰り返し回数」が指定されています。この指定に従ってD列では「チョコ味やきいも」が縦方向に4回繰り返され、「イチゴ味やきいも」が3回繰り返され…という表示になっています。
D列のような表示を再現したいとき、手作業で繰り返し入力するなんてやってられません。VLOOKUP関数を利用して近道をしましょう。補助列を2つ追加する必要があるのでややレベル高めですが、手順を1つずつわかりやすく解説します。
この状態からはじめます。商品名と繰り返し回数の最終行(A7とB7)に「-」と書き入れてください。
商品名の列の左側に「補助列1」を導入します。
A2には「1」を入力し、A3には「=A2+C2」を入力します。
A3を起点として下方向にオートフィルをかけ、補助列1の空欄を埋めます。
「繰り返し表示」の列の左側に補助列2を導入します。
E2に「1」を入力します。
E2を起点として下方向にオートフィルをかけ、補助列2の空欄を埋めます。
F2に「=VLOOKUP(E2,A:B,2,TRUE)」を入力します。
F2を起点として下方向にオートフィルをかけ、F列の空欄を埋めます。商品名が縦方向に繰り返し表示されることを確認します。
ここではVLOOKUP関数の第4引数に「TRUE」を指定して近似一致で検索しているのがポイントです。
VLOOKUP関数の近似一致は、次のように動作します。
- 表の中で検索値を見つけた場合
- 見つけた値を一致する値とみなす(完全一致と同じ動作)
- 表の中で検索値を見つけられなかった場合
- 検索値よりも小さい値で、かつ最も検索値に近い値を一致する値とみなす
【MOD関数】社員番号を使って社員を4グループに分けよう
MOD関数は割り算の余りを求める関数です。モッド関数またはモジュラス関数と読みます。
この関数は「社員番号を使って社員を4グループに分ける」といったケースで繰り返し入力の手間を減らしてくれます。例として次のような12人分の社員の社員番号の一覧を考えましょう。
12人の社員を次のように1, 2, 3, 0の4つのグループに分けたいとします。
1, 2, 3, 0を繰り返し手入力するのは手間です。12人ならコツコツ打ち込むのも不可能ではないですが、12,000人なら到底できません。そんな作業もMOD関数を使えば簡単です。次の手順を実施します。
B2に「=MOD(A2,4)」を入力します。
セルを確定すると「1」が表示されます。
B2を起点としてオートフィルをかけると、各社員番号に対して1, 2, 3, 0のグループ番号が割り振られます。
なおグループ番号を「1, 2, 3, 4」としたい場合はIF関数を組み合わせて次のようにすると良いでしょう。
B2に「=If(MOD(A2,4)=0,4,MOD(A2,4))」を入力します。
(この数式の意味は「余りがゼロのときは4に置き換えて、その他の場合は余りをそのまま表示する」というものです。)セルを確定すると「1」が表示されます。
B2を起点としてオートフィルをかけると、各社員番号に対して1, 2, 3, 0のグループ番号が割り振られます。
この記事のまとめ
今回は繰り返し入力に使える3つのExcel関数を解説しました。関数名と使いどころを復習しておきましょう。
- REPT関数
- 評価を★の数で表示する
- VLOOKUP関数
- 初級編:商品名で検索して単価データを取り出す
応用編:商品名をn回縦方向に繰り返す - MOD関数
- 社員番号を使って社員を4グループに分ける
以上、参考になれば嬉しいです。