2018年5月22日データベースから情報を取り出す、最もシンプルな方法はvlookup関数を使うことです。この記事では、vlookup関数の書き方と、入力数が多い場合にvlookup関数をオートフィルで楽して書く方法を紹介します。引用データベースが空白だった場合に0を表示させない方法や検索値が空白だった場合のエラー回避法などの小技も記載しています。初心者の方は、vlookup関数の基本もしくはvlookup関数のオートフィル方法まで理解して貰えれば十分かと思います。関連vlookup関数の基本vlookup関数は、4つの情報を必要とします。下記のデータベースを使って、実際にデータを呼び出してみます。KBダウンロードぜひ真似をして、作成してみて下さい。vlookup関数を使えると、データベースからデータを引き出して、それを自分の好きな形式に落とし込む事ができるようになります。VBAを使えば、100枚でも1000枚でも、その形式で印刷やPDF化を行うことができます。下記を目標にvlookupを使ったフォーマット(出力書式)を作ります。簡易的ですが、これも立派なフォーマットです。検索値(管理番号)を変更すると、もちろん値も変更されます。(検索値を変更することによって、左側のデータベースの任意のデータを取得できるようになったということです。)それでは、実際にこの関数を作成してみます。最初に、セル内に「=vlookup(」と入力します。次に、「検索値」を設定します。今回は、H1セルに検索値があるので、「H1」と入力します。入力は、H1セルをクリックしてもよいですし、H1と直接入力しても構いません。検索値を設定したら、次は、データベースの範囲を設定します。今回のデータベースの範囲は下記のとおりですので、A~Dセルを選択するか、A:Dと入力して下さい。A~Dの選択の仕方も、AをクリックしたままDまでマウスを動かすか、Aを選択した後に、Shiftを押しながらDを選択して下しさい。範囲を設定したら、次は必要なデータがどこにあるのか、を指定します。今回はデータベースの2列目にあるので、2と入力します。最後に、FALSEと入力すると完成です。FALSEを入力しないと、上手く検索できない時があるので、常にFALSEと入れるようにしましょう。小文字でfalseと入力しても構いません。最後に、数学と国語でも同じ作業を行うと、完成です!上記の流れを見ながら何回か自分でやってみると自然にできるようになっています。vlookup関数はこれで使えるようになると思います。vlookup関数とオートフィルvlookup関数を覚えたら、次に思うことは何かというと、vlookup関数を一個一個書くのめんどくさい、ということです。vlookupで呼び出したい関数が20個あった場合、全部手書き入力するのって意外と大変ですよね。それを簡単に記述する方法をお教えします。意味ないやと思うかもしれませんが、それも簡単にできる方法をお教えします。オートフィルを行うには異なる2パターンの処理が必要だからです。何も処理をせずにオートフィルを行うと、下記の様にエラーが出てしまいます。その異なる2パターンは、というと検索値(A1)と範囲(A:Z)は絶対参照に。※絶対参照とは、オートフィルを行っても数値や範囲が変わらない値のことを指します。列番号は、オートフィル後に手で数値を修正する必要をなくしたいです。この2種類の処理が必要なので、vlookup関数のオートフィルでの自動入力は、少しハードルが高くなっている気がします。簡単な絶対参照化の処理を先に施します。絶対参照にしたい値をクリックして、キーボードのF4を一度だけ押して、絶対参照します。下記の場合は、H1、A:Dそれぞれを絶対参照化してください。絶対参照化してオートフィルを行うと、下記の様に一歩前進した感じになります。今回のように、数が少ない場合は、下記の列番号を手で変更すれば良いです。数が多い場合は、オートフィルでやってしまいたいですよね。数が多い場合は、ROW関数やCOLUMN関数を使います。ROW関数は、列数を数える関数で、COLUMN関数は、行数を数える関数です。ROW関数は縦にオートフィルする場合。COLUMN関数は横にオートフィルする場合です。ちなみに、こんなことは覚える必要はありません。vlookupでオートフィルする時はこの記事を見れば良いだけです。何回も行えば自然に覚えますので、わざわざ労力を掛けて覚える必要はありません。今回の場合は縦ですので、ROW関数を使って書いてみます。今回は、列番号の値が「2」ですので、ROW(A2)と入力します。ちなみにROW(A2)でなくても、ROW(B2)でもROW(C2)でも何でも構いません。オートフィルで動く値を取得したいだけです。最後に、オートフィルを行ってみましょう。データベースとも値が一致しており、正確にデータを取得できたことが分かります。※範囲だけ変えてあります。オートフィルで一発です。こちらもデータベースとも値が一致しており、正確にデータを取得できたことが分かります。一応、ダウンロード出来るようにしておきます。必要ならダウンロードしてください。KBダウンロードデータベースとはぼくは何度もデータベースという言葉を使っていますが、データベースって難しく考える必要はなく、ただ、列の一番上のルールに則ったデータが入っているものと考えればよいかと思います。ちなみに、列の一番上のルールの事を、フィールド名と言います。覚える必要はありません。データベースには必ず、番号を数字で入れるようにして下さい。1から順番でなくても構いませんが、絶対に重複はさせないでください。この数字があればvlookup関数で簡単にデータを呼び出すことができますが、この数字がないと、Index関数とMatch関数を複合した式を記述しなければならなくなるので、ものすごく大変です。いらない苦労をする必要はありませんので、数字は必ず入れて下さい。記事が長くなってしまったので、別の記事にて解説します。この一工夫で、書類作成は劇的に簡単になります。vlookup関数を使った書類作成を短時間で終わらせる一工夫vlookup関数の引用元が空白だった場合vlookup関数の引用元が空白だった場合は、セルに0が表示されてしまいます。これ、地味に鬱陶しいです。書式の変更で空白にすることもできますが、書式の変更での0削除は不安定なので、紹介しません。この場合の対処の仕方は2通りあります。&””」と、&””を追加することです。これを入れることでそのセルは、文字列の「空白」と認識されるので、0が自動で入力されません。この方法で呼出した場合、数字が文字列としてエクセルには認識されてしまいますが、ほとんどの場合は問題ありません。気になる場合は、再度呼び出す時に*1とすればまた数式に戻ります。(意味がわからない場合も、問題ありませんので、気にしないでください)もう1つは、if関数を使った方法です。下記のA1にvlookupの式を代入する方法です。=if(A1=””,””,A1)A1が空白だったら、空白にしてね。空白じゃない場合は、A1の値を代入してねって意味です。実際に書くとこうなります。=if(vlookup(A1,A:D,2,false)=””,””,vlookup(A1,A:D,2,false))パッと見ややこしく、1つ目の方法が可読性も高いので、オススメです。検索値が空白の際のエラーを解消する方法VBAを用いた場合、最後は検索値を空白にして完了させることが多いです。自動化したいと思っている方はVBAで自動化後にこちらを参照して下さい。検索値を空白にした場合はこの様になります。エラーが出ていて、嫌ですよね。この場合は、iferror関数かif関数を使います。式にエラーが有る場合に、空白にしてくれます。空白になっていますね。1つは、if関数です。下記の様に記述すると、検索値が空白の時は空白にしてくれます。=if(検索値=””,””,式)ぼくはこっちの方が好きです。仮に検索値が空白以外のエラーが出てしまった場合、iferror関数を使っていると気付きにくいからです。あと、前方だけ書いてダブルクリックするだけで良いですし。空白になってますね!(オートフィルを行うなら、IF関数部分も絶対化しておいてくださいね。)まとめvlookup関数は非常に便利な関数で、エクセルが小さなデータベースと相性が良いことから、非常によく使います。オートフィルが出来ると意外と便利なので、ぜひオートフィルまでマスターして下さい。可読性及び正確性が非常に高くなる方法があります。こちらも参考になると思います。vlookup関数を使った書類作成を短時間で終わらせる一工夫エクセルで業務改善を行うには、非常に多くの知識や勉強が必要と考えているかもしれませんが、そうではありません。下記の関数や考え方を身に着けたら、業務改善におけるエクセルの基本はマスターしたと考えて良いと思います。エクセル関数を使いこなすのに必要なたった10個のこと上記の関数及び考え方を理解したら、ただひたすら実践あるのみです。考え方も変わるかもしれません。MEカフェインレスいま日本では、残業するのがアタリマエ。仕事はしんどくて当然。ぼくには娘がいるのですが、将来、社会に対して暗い気持ちになってしまったらイヤだな、と。定時で帰るのを当然のこととするために、「本質的な技術」や「小手先のテクニック」を紹介しております。仕事に慣れたところで、10-20%程度しか仕事は早くなりません。エクセルを学んだり、考え方を変えると90%以上の業務時間が短縮ができる事があります。仕事って人生で一番時間を使うことなので、その仕事のうちの「作業」だけでも自動化できれば、仕事のクオリティは段違いになります。あなたの仕事のステップを一段階上げるために。毎日にゆとりをもたらすための一助になりたいと思っています。自分の時間を増やすことができます。カフェインレスの効率化メルマガ不要なら1クリックで簡単に解約できます。異動先でまたガッカリでもエクセルVBAを覚えて今度は12時には仕事が終わるように上司は自分の仕事で精一杯。異動先が外資に買収されるが、その外資を意外と気にいる営業販促のため、ウェブページ、リーフレット作成開始エクセルVBAで社内業務を大幅改善。社内みんなの残業もなくなる年収が100万円UPマーケティング専任に新しく上司となった営業部長と意見が合わず、無視される指示待ち人間と言われ静かに怒る上司にマーケティングとは何かと議論する中国から輸入してメルカリで販売するという副業がちょっと順調に。←今ここ提供ツールのアクティブ化について提供ツールのアクティブ化の方法については、こちらのページをご覧下さい。