
【Excelのタイパな話】無限リストの作り方
この記事を読んでいただきたい方はこんな方です。
「エクセル」ときくと頭が痛くなる方
Excelの有効な使い方を探している方
就職先や転職先でよくExcelを使う方
Microsoft365の契約者の方(個人でも法人でも)
Excelで仕事はできているが使い方がいまいちわかっていない方
Excelを資料作成にしか使っていない方
Excelと聞いて私も初めは恐怖でした。
こんにちは。私は(株)SHIFTで主に社内教育を担当させていただいている根岸と申します。 SHIFTでは生産性を上げるためにExcelの教育に力を入れています。
なぜかというと、実は業務の中で1番使うアプリがExcelだからです。
Googleスプレッドシートもありますが、デスクトップのアプリとして使う機会でいうとMicrosoftのExcelが圧倒的に使用頻度が高いです。
Excelでやり取りされているのはデータだけではなく、資料でもExcelが使われることが多いです。
Excelでメンバー同士のその日の作業が一覧化したものも共有されたりします。
つまり、普通の社会人はExcelのことをたいして知らなくてもなんとかなってしまうのです。
その結果私もExcelは何となくできていましたが上部の「リボン」の部分でどんなことができるかも知らず、また、どんなことができるのかにさえ興味がない状況で、Excelについてはちょっと難しい操作はお手上げという状態でした。たとえばVLOOKUP関数などは1回も使ったことがありませんでした。
SHIFTに入社してからは、徹底的にExcelの操作について学ぶことができました。 なぜなら、SHIFTは元々製造業界向けの業務改善コンサルを行っていた会社であり、そういった背景からプログラミングよりもExcelなどを使ったデータ可視化を得意としていたからです。
その名残か、SHIFTではExcelの社内研修がほぼ毎月開催されており、多数の受講生から「この研修を受講してから格段にExcelがわかるようになった」という声を多くいただいております。
SHIFT独自の体系的なExcel教育の詳細についてはこの記事のスコープから外れてしまうので今回は紹介までにとどめていますが、社員のExcel教育に熱心な会社といえばSHIFTという風に覚えていただけると嬉しいです。
「無限リスト」とは何か?
いよいよ今回ご紹介させていただく「無限リスト」の話になるんですが、それはExcelではあまり知られていない「名前の定義」と「ある関数」を組み合わせて作ります。
「無限リスト」があると何が嬉しいかというとブック全体で使うデータを呼び出すときに便利です。
たとえば私は毎月社内の研修の講義をしています。その中でよく使うのが受講生リストです。
これをたとえば無限リスト化していないと
シートごとに受講生の一覧を貼り付けなくてはいけない
受講生の数が毎月変わるのでそれに合わせてリストの範囲を変更しないといけない
別のシートを参照していたりすると、何かのきっかけで参照元がずれることがある
上記のような懸念点があります。
無限リストを使うことで再利用が可能でメンテナンスもほとんど必要のないリストが作れると覚えておいてください。
早速作ってみよう!
まずはサンプルの一覧を用意します。 こちらのサンプルをコピーしてExcelに貼り付けて使ってみてください
| 受講生一覧 | | ---------|- | | シフト ひまり| |シフト みのり| |シフト 一輝| |シフト 智也| |シフト 健斗| |シフト 慶太|
CTRL+ALT+Vで形式を指定して貼り付けることができます。テキストを選択してB2セルに貼り付けましょう


そうしたらC2セルに以下の関数を入力します。
=OFFSET($B$2,1,,COUNTA($B:$B)-1)
この関数を実行してB列に値を追加すると隣の列のリストも自動的に更新されます。(一覧の値に空白行は含めないようにしてください)

あとはこのOFFSET関数を「数式」タブの「名前の管理」からリスト名を登録すれば無限リストの完成です

新規作成を押します

今回は「受講生一覧」という名前のリストを作る、参照範囲にOFFSET関数をコピペする

無限リストのメリット
メリットその① 好きな場所で使える
どのシートでも=リスト名と参照することで使用できるようになります。

メリットその② 元の表を更新すれば自動的に参照先も更新される
ピボットテーブルなどでは「更新」ボタンを押さないと最新の情報に更新してくれません。 しかし「無限リスト」なら参照元のリストを更新すれば参照先のリストも同時に更新されます。
メリットその③ データの入力規則からドロップダウンリストを無限リストから作ると便利!
無限リストからドロップダウンリストを作ると大変便利です。
「データ」タブから「データの入力規則」を選択する

入力値の種類を「リスト」に設定し「元の値」を「=受講生一覧」と設定する

ドロップダウンリストとして使用できるようになりました

リストに変更があってもその内容が反映されていることも確認してください。
今後もExcelのタイパな話をお伝えします!
私は読者の皆様にExcelを通じて業務改善化していただき、毎日定時退社していただきたいと強く願っております。
今後の励みにもなるので、よければこの記事に「スキ」をお願いします。
ご一読ありがとうございました!
執筆者プロフィール:根岸 紳
前職は年間研修実施回数15,000回超の研修会社の社内SE。
その時に培ったIT研修特にオンラインの新人IT研修の経験などから、IT教育に興味を持つようになり2020年10月から株式会社SHIFTにジョイン。
入社後は主にIT業界未経験者として採用された若手むけの研修を担当、その他に新卒研修、社外向けの研修ヒンシツ大学の講師を担当する。趣味は温泉と読書と筋トレと水泳とカラオケ。
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/
出典元:ExcelとMSペイントにて作成