見出し画像

ビッグテーブルに挑む3つの基本技

ここ数年EXCELのビッグテーブルに仕事で立ち向かってきた私。

その中で備えるべき基本が3つ。

EXCELをツールに使っている人は、これらを使えると人生の何分の1かは時間をロスらないですむので、早めに手に馴染ませた方がお得です。

1.スクロールしない
2.関数ウィザードに頼らない(数式を使う)
3.VLOOKUPを使わず、INDEXを使う

スクロールしない

EXCELにはカーソルを光速でとばせる機能がついていて(要するにショートカットキーなんですが)、特にEXCEL固有の範囲指定ではこれが威力を発揮します。
といってもすべて覚える必要はなく、必須は次の3つ

a) 範囲指定のCtrl+Shift+矢印キー

これをやると、今カーソルのあるところからデータの最後まで、瞬時に範囲指定完了。下矢印キーの場合は最終行まで指定。
そのままの状態で続いて右矢印キーを押すと最終列まで指定範囲が拡大。

まずはこれが基本で、Shiftを押さずにCtrl+矢印キーだけだと範囲指定せず、カーソルが単にデータの最後まで飛びます。

b) 検索のCtrl+F

語句検索に使う、例の画面を呼び出すためのショートカットキーなんですが、これ結構多用します。
ホーム→検索と置換→検索 とやってたどり着くより断然速い。
ちなみにこれ、ブラウザ上でやるとページ検索ができます。

c) 開いている画面を切り替えるCTRL+Tabキー

EXCELを多用する人は、多分複数のファイルを開いているでしょう。
このショートカットキーを押すたびに(Ctrlキーは押しっぱなしなので実質Tabキーを押すたびに、ですね)開いている各ファイルが次々切り替わります。
これはスクロールとはあまり関係ないんですが、まぁショートカットキーの一つということで。

その他ショートカットキーということでは、コピーのCtrl+Cとか、貼り付けのCtrl+VとかはEXCEL以外も含め、よく使われますが割愛。

で、これらを使っていない人には、いくら言葉で言っても実感がわかないと思うので、ここに用意した人名ランキングをPCのEXCELに落として実感してみてください。

スクロールすることが大変かの実感

まず、何位までの人名が載っているかの確認をします。

そう、カーソルをデータの最終行にとばすCtrl+↓矢印キーですね。

順位の列の先頭にカーソルキーを置いて、Ctrl+↓。
10,039番目の帷子さんが最後です。(ちなみに帷子川という川名からすると、カタビラさん、と読むのでしょうか。全国で183世帯いらっしゃるようです。)

で、次に自分の名前が何番目にランクされているのか確認してみましょう。
佐藤さんとか鈴木さんのようにすぐ見つかる名字の場合は、「帯刀」さんで探してみましょう。

スクロールして見つけるには、まずメンタルが耐えられませんね。
そこで苗字の列を指定して、Ctrl+Fで検索ウィンドウを呼び出すというわけです。

ついでに知り合いの名前も調べてみる

上のやり方でもできますが、何人かまとめとなると面倒。
(この面倒、という感覚が技術を進化させます)

そこで関数の登場となるんですが、この手の検索はVLOOKUPが一番広まっているでしょう。
後に述べる理由によって、私はすべてINDEX関数を使用していますが、まずはおさらいで、VLOOKUPを使ってみます。

米元、小坪、榊原、真田で検索することにします。

E4セルの米元を、$B$4:$C$10042 の範囲で検索し、2列目の値をもってくる、というのが =VLOOKUP(E4,$B$4:$C$10042,2,0) の意味でした。
最後の0は完全一致を指定するオプションです。
また B4:C10042 の範囲指定は例のCtrl+Shift+矢印キーでやるわけですが、デフォルトでは$マークがついてきません。
この後に出てくるドラッグコピーのために、この$マークを追加しておきます。(このマークがついていないと、参照範囲がズレてしまいます)

この結果、米元さんは全国で476世帯あることがわかりました。
この式ができれば、他の人の分は下へドラッグして数式をコピーするだけです。

順位を知るには

世帯数はこれでわかるが、順位が知りたい!

VLOOKUPだと、順位のある列を苗字の右側に持ってくる必要があります。
さほど大変でもないですが、ひと手間増えるのも事実。
INDEX関数だと表を変形せずに順位も取得できます。

=INDEX(順位列,MATCH(検索したい語,検索の対象列,0))
関数の中の順番はVLOOKUPと少し変わりますが、基本的な考えは同じ。
さらに世帯数も追加します。

1) 順位の式を右隣にコピー(E4が動くので、$F4としておく)
2) その式を編集状態のまま、範囲指定部分の色がついている枠を移動(赤矢印)
これで完了。
後は、数式のある2列(F4とG4)を範囲指定して、下にドラッグコピーで完了。

という結果が得られました。
検索したい名前がいくつあっても、作業時間は2つの式を作るというところだけで、後は瞬時に数字を得ることができます。

VLOOKUPではなく、INDEX関数を使う理由をまとめると、
・検索する列の位置に関係なくデータをもってこれる
(列検索だけではなく行検索も同じ関数でできる)
・VLOOKUPだと、何列目という指定 → データ範囲が広いといちいち数えるのが面倒。INDEXだと直感的な操作で指定できる。

以上で、冒頭のビッグテーブルと向き合う3つの基本が理解できたかと。
1.スクロールしない
2.関数ウィザードに頼らない(数式を使う)
3.VLOOKUPを使わず、INDEXを使う

どうかデータ操作ごときで、人生の時間をムダにつかわないでください。

この記事が気に入ったらサポートをしてみませんか?