Paxataブログ

Paxataブログ>VLOOKUP関数の使い方が難しい..そんな悩みを解決するデータプレップツール

  • Excelを使わないデータプレップ
2020.06.17

VLOOKUP関数の使い方が難しい..そんな悩みを解決するデータプレップツール

業務で「Excel」を使う機会はどれぐらいありますか?

簡単な集計表の作成から、マクロを使った業務システムまで、さまざまなところで使われているExcelですが
その中でも「VLOOKUP関数」を使われている方は多いのではないでしょうか。

このVLOOKUP関数、とても便利な反面、制約も多いですよね...

本記事では、ExcelのVLOOKUP関数で苦労している方向けて、データプレップツール「Paxata」を使った解決策をご紹介します!


VLOOKUP関数とは?


VLOOKUP関数とは、別の表を検索し特定のデータに合致する値を取り出すことができるExcel関数です。

V:Vertical(縦方向)
LOOKUP:探す


平たくいうと、欲しいデータを縦方向探し出してくれる関数、というところでしょうか。

たとえば、商品IDで単価や商品名を管理している「単価マスタ」があります。

VLOOKUPイメージ

この単価マスタを「注文データ」に結合してみます。

VLOOKUPイメージ

このように指定することで、別テーブルの情報を取得することができます。

ただし、VLOOKUP関数を使うには、いくつかの課題があります。


VLOOKUP関数の課題

ここでVLOOKUP関数の課題として、次の3つを挙げて詳しく解説していきます。

1.「検索先」のキー列より左側の項目を指定できない
2.「検索先」のキー列の値がユニークで無ければならない
3. データ量が多いとスピーディに処理ができない


課題1:「検索先」のキー列より左側の項目を指定できない

例えば上の例でいえばキー列より右側の値を参照したいわけですが、データの持ち方によっては左側にくる場合もあります。データの並びによっては、VLOOKUP関数が使えないことがあります。

「VLOOKUPができる場合」

3_VLOOKUP表

「VLOOKUPができない場合」

4_VLOOKUP表

この場合、列の順番を変えても支障が無ければ入れ替えれば済むでしょう。ただ、セル参照を繰り返しているようなケースや帳票としても使うケースだとレイアウト自体を変えられないといった場合も考えられます。
また手作業ならまだしも、テンプレート化するとなると、マクロなどの仕掛けも必要になってくるかもしれません。


課題2: 「検索先」のキー列の値がユニークで無ければならない


当然と思われるかもしれませんが意外とこの落とし穴にハマる人も多いようです。
VLOOKUPは検索先データを上から順番に検索していくわけですが、最初にヒットした行の値を反映します。
つまり、後の行に同じ値が存在しても見逃してしまうことになります。
この課題に関しては、SQLの知識がある方であればデータベースに入れて結合するほうが早い!とすぐに見切りをつけてしまう人もいるかもしれません。ただ、そういった環境に自由にアクセスできる人は限られるのではないでしょうか。


課題3: データ量が多いとスピーディに処理ができない


VLOOKUPの処理にかかる時間と再計算も課題です。少量のデータであれば、さほど問題無かった処理でも検索先のデータが大量(例えば、何万点もあるマスターデータ)の場合、途端に処理時間が遅くなります。Excelだけが計算し続けるのは良いとしても、パソコンのリソースを全てExcelに奪われてしまうと他の業務が一切できなくなります。
また、Excelには自動再計算という便利な機能がありますが、VLOOKUPに関して言うと、この機能はむしろストレスになります。セルを編集するたびに再計算するという事態が起きてしまうためです。

<ツールバーにある「計算方法の設定」→「自動」にチェック>

5_VLOOKUP計算方法の設定

< セルを編集するたびに再計算処理が動く >

6_VLOOKUP再計算処理

ここで挙げた課題にはさまざまな回避方法が考えられますが、
今回はデータプレップツール「Paxata」使って解決する方法をご紹介していきます!


VLOOKUPが超ストレスフリーになるPaxata!


Paxataを使って同じような処理を大量データでやってみます。

ポイント1: 項目順やデータの重複も気にせずルックアップ!

150万件のトランザクションデータに、1万件のマスターデータを結合します。
まずは150万件のデータをPaxata上で開きます。

<150万件のトランザクションデータ>

7_point1_トランザクションデータ

次に、メニューから「添付」 ⇒ 「ルックアップ」の順で選択し、参照先データを選びます。

8_point1_VLOOKUP_参照先データ

参照したいマスターデータ「SalesForceリード情報」を選択します。

9_point1_VLOOKUP_SalesForceリード情報

ルックアップキーを指定する画面がでてきますが、ここで「結合を検出」をクリックすると、
Paxataが2つのファイルの中でキーとなりそうな項目を抽出してくれます。

10_point1_VLOOKUP_結合を検出

結合キーの候補をPaxataが選んでくれました。キーが分からないデータ同士でも突合率と共に結合キーの候補を出してくれます。ここでは、メールアドレスをキーに結合します。

11_point1_VLOOKUP_結合キーの候補

また、結合方法もオプションで簡単に切り替え可能です。

12_point1_VLOOKUP_結合方法オプション

オプションを開くと、ルックアップの順番を入れ替えたり、SQLのJOINと同じ結合方法にすることができます。
つまり、重複データがあっても無視せずにデータを取ってくることが可能です。外部結合にも対応しています。

キーを選択して保存すると、2つのファイルの全項目が揃った状態で表示されます。

13_point1_VLOOKUP_ピックアップしたい項目

どのファイルの項目かは、タイトルの色で判別可能です。
ピックアップしたい項目がどこにあっても関係なく、すべてをピックアップしてくれます。

最後に、不要な項目は後から除外していくこともできます。項目名のチェックボックスのON / OFFで切り替えます。

14_point1_VLOOKUP_現在のデータセット

このように、PaxataではVLOOKUPのように項目の並びを気にする必要は全くありません!


ポイント2:ブラウザ上でストレスなくフルデータを表示、加工!

150万件のデータに1万件程度のマスタをルックアップする処理でしたが、10秒以内で結果が返ってきます。
そして処理自体も全てサーバ上で行いますので、手元のパソコンに負荷がかかることもほとんどありません。ブラウザ上に150万件のデータを表示しているにもかかわらず、超ストレスフリーです。


ポイント3:手順をその場で保存し、可視化!

Paxataは、Excelマクロのようなプログラムを使わず、処理の手順を記録しスケジュール実行させることも可能です。処理手順も分かりやすく可視化されますので、スクリプト言語を覚える必要もなく、引継ぎも楽に行えます。

加工手順は全て保存され、可視化。後から、順番の入れ替えや手順の追加も簡単。

15_point2_加工手順


データプレップツールと聞くと難しそうに聞こえるかもしれませんが、
PaxataはIT部門ではなくビジネス部門でご利用いただくケースが多いです。

今回のVLOOKUP関数の課題解決に限らず、Paxataにはたくさんの機能が備わっています。
Paxataでよく使われる代表的な20の機能を、わかりやすく紹介した資料もあわせてご覧ください!


この記事をかいた人

Web系プログラマを経て、2006年にアシスト入社。
BI系製品をメインに担当し、最近ではPaxataのプリセールス、PoCの支援や、導入時の支援などを担当。

関連している記事

ページの先頭へ戻る