Excel で「パズル」をプレイする
Reddit ユーザーの MehmetSalihKoten は、Microsoft Excel で完全に機能するバージョンのテトリスを作成しました。
ExcelのVLOOKUP関数はデータを調べるのにとても便利です。Excel で VLOOKUP 関数を使用する場合に知っておくべきことは次のとおりです。
Excel スプレッドシート内の特定の値を確認し、それに関する情報を調べたいとします。この場合、VLOOKUP を実行すると、労力を大幅に節約できます。これは、Microsoft Excel で垂直クエリを実行する最良の方法の 1 つです。この記事では、Microsoft ExcelのVLOOKUP関数の意味、使い方、具体的な例について説明します。
VLOOKUP関数の使い方
VLOOKUP関数はExcelのデータ検索関数です。Excel の知識があり、SUM、AVERAGE、TODAY などの基本関数を使用できることを前提としています。VLOOKUP の最も一般的な関数の 1 つはデータ関数です。これは、データベース テーブル、またはより単純に項目のリストを操作することを意味します。リストにはさまざまなものがあります。会社の従業員、製品カテゴリ、顧客リストなどに関するテーブルを作成できます。以下は A 社が市場で販売している製品のリストです。
多くの場合、データベース テーブルには各製品の識別子が付いています。上記のデータテーブルでは、特別な識別記号は「商品コード」列です。注: VLOOKUP 関数を使用できるようにするには、データ テーブルにコードや ID などの識別記号を含む列が必要で、上記のテーブルのように最初の列である必要があります。
VLOOKUP はおそらく Excel で最も有名な関数ですが、良い理由と悪い理由の両方があります。明るい面としては、VLOOKUP 関数は使いやすく、非常に便利な機能を備えています。特に新規ユーザーにとって、VLOOKUP 関数がテーブルをスキャンし、一致するものを見つけて正確な結果を返すのを見るのは、非常にエキサイティングです。VLOOKUP 関数を使いこなすことは、初心者から熟練した Excel ユーザーまで必須のスキルです。
マイナス面としては、VLOOKUP 関数には制限があり、デフォルト値が危険であることが挙げられます。INDEX や MATCH (または XLOOKUP) とは異なり、VLOOKUP 関数には最初の列にルックアップ値が含まれる完全なテーブルが必要です。このため、複数の条件を指定して VLOOKUP 関数を使用することが困難になります。さらに、VLOOKUP のデフォルトの一致動作により、誤った結果が得られやすくなります。でも心配しないでください。VLOOKUP 関数を使いこなすための鍵は、基本をマスターすることです。
VLOOKUP には、lookup_value、table_array、column_index_num、range_lookup の 4 つの引数があります。Lookup_value は検索する値、table_array は検索する垂直方向のデータ範囲です。table_array の最初の列には、検索するルックアップ値が含まれている必要があります。引数 column_index_num は取得する値の列番号で、table_array の最初の列は列 1 です。
最後に、range_lookup は、一致を見つける動作を制御します。range_lookup が TRUE の場合、VLOOKUP 関数は近似一致を実行します。range_lookup が FALSE の場合、VLOOKUP 関数は完全一致を実行します。重要なのは、range_lookup はオプションであり、デフォルトは TRUE であるため、VLOOKUP はデフォルトで近似一致を実行します。
Excel の VLOOKUP 関数には次の式があります。
=VLOOKUP(ルックアップ値,テーブル配列,列インデックス番号,[ルックアップ範囲] )
そこで:
相対検索は、table_array 内で検索する値が順序 (昇順、降順、またはアルファベット順) に配置されている場合にのみ適用できます。このようなテーブルでは、無限IF 関数を使用するのと同様の相対検索を使用できます。検索できない値や並べ替えられていない値については、絶対検索を使用して正確な値を見つけます。
次のような生徒の成績証明書があるとします。
いいえ | 名前と苗字 | 平均点 | 分類 |
初め | グエン・ホアン・アイン | 9.1 | |
2 | トラン・ヴァン・アン | 8.3 | |
3 | グエン・クアン・ビン | 9.5 | |
4 | チャン・ホン・クアン | 8.6 | |
5 | ドタインホア | 5.0 | |
6 | レ・ホン・ゴック | 4.5 | |
7 | ドアン・タン・ヴァン | 7.2 | |
8 | ゴ・ゴック・ビッチ | 0.0 | |
9 | ホアン・トゥ・タオ | 6.6 | |
十 | ディン・ミン・ドック | 8.7 |
そしてランキング規定表は以下の通りです。
格付規定 | |
0 | 弱い |
5.5 | 中くらい |
7 | それよりも |
8.5 | 良い |
次に、VLOOKUP 関数を使用して生徒の評価を入力します。ランキング表は低いものから高いもの(弱いものから良いもの)の順に配置されていることがわかります。この場合、相対検索を使用できます。
Excel では、これら 2 つのテーブルは次のように表示されます。
ここでは、検出対象の値は 6 行目から始まる C 列にあります。検索範囲は $A$18:$B$21 で、検出された値が含まれる列の順序は 2 です。
セル D6 に、数式 =VLOOKUP($C6,$A$18:$B$21,2,1) を入力します。これは相対検索式です。必要に応じて (またはランキングがソートされていないため)、次のように式に 0 を追加することで絶対検索を実行できます: =VLOOKUP($C6 ,$A$18:$B$21,2, 0)。Enterを押します。
セル D6 をクリックすると、右下隅に小さな四角形が表示されます。それをクリックして表の下にドラッグし、残りの学生の採点式をコピーします。
その際、VLOOKUP関数を使って生徒の学力を分類した結果は以下の通りです。
なぜ C6 の前に $ を使用しなければならないのか疑問に思いませんか? $ は列 C を固定したままにし、数式をテーブルの下にドラッグしたときにのみ行を変更します。また、ランキング ルール テーブルを修正して、数式をドラッグしても変更されないようにする $A$18:$B$21 もあります。
従業員コード、氏名、役職を保存する従業員データ テーブルがあるとします。別のテーブルには、従業員コード、出身地、教育レベルが保存されます。各従業員の出身地情報と教育レベルを入力したい場合、どうすればよいでしょうか?
次のような従業員と従業員の出身地を示すテーブルがあるとします。
次に、従業員の出身地情報を入力したいとします。セル D4 に、次のように絶対検索式を入力します。 =Vlookup($A4,$A$16:$C$25,2,0)
次に Enter を押します。セル D4 の隅に表示される小さな四角形をクリックし、表全体に下にドラッグして、他の従業員に数式をコピーします。
従業員の資格情報を入力するには、セル E4 に絶対検索式=VLOOKUP($A4,$A$16:$C$25,3,0)を入力します。
Enter キーを押し続け、下にスクロールして残りの従業員に数式をコピーすると、次の結果が得られます。
例 2 のデータ セットを続けて、3 人の従業員、Nguyen Hoang Anh、Tran Van Anh、Nguyen Quang Vinh の出身地を見つけます。それを新しいテーブル F15:G18 に抽出しました。
出身地と資格を入力した後、表 A3:E13 に対してこの検索を実行します。ここで、次の絶対検索式をセル G16 に入力します: =VLOOKUP($F16,$B$3:$E$13,3,0) > Enter キーを押します。
残りの 2 人の従業員の数式をコピーすると、次の結果が得られます。
この例では、検出値は列 B にあるため、検出領域は列 A ではなく列 B から計算されることに注意してください。
例 2 のデータ セットに戻り、従業員の資格と出身地を入力した後、シートに QTM という名前を付けます。
QTM1 という名前のスプレッドシートの別のシートでは、従業員の配置順序が変更された従業員の資格と職位に関する情報を取得する必要があります。ここで VLOOKUP 関数の真価がわかります。
従業員の「資格」に関するデータを検索するには、シート QTM1 のセル C4 に数式 =VLOOKUP($B4,QTM!$B$3:$E$13,4,0) を入力します。
そこで:
Enter キーを押して、テーブル内の残りのすべての従業員の数式をコピーすると、次の結果が得られます。
従業員の「役職」データを検索するには、シート QTM1 のセル D4 に数式 =VLOOKUP($B4,QTM!$B$3:$E$13,2,0) を入力し、Enter キーを押します。
残りの従業員の数式をコピーすると、次のようになります。
まず、「VLOOKUP 関数は何に使用するのですか?」という質問に対する正確な答えを見つける必要があります。
VLOOKUP 関数は、利用可能な識別子に基づいたデータ フィールドまたはリスト内の情報の検索をサポートするために使用されます。
たとえば、商品コードを含む VLOOKUP 関数を別のスプレッドシートに挿入すると、そのコードに対応する商品情報が表示されます。その情報は、作成したレシピの内容に応じて、説明、価格、在庫数量になります。
検索する必要がある情報の量が少ないほど、VLOOKUP 関数の作成は難しくなります。通常、この関数は再利用可能なワークシートでテンプレートとして使用します。適切な製品コードが入力されるたびに、システムは対応する製品に関する必要な情報をすべて取得します。
Excel の VLOOKUP 関数について覚えておくべき重要事項のリストを次に示します。
Excel の VLOOKUP 関数と XLOOKUP 関数の主な違い
VLOOKUP |
XLOKUP |
|
デフォルトの完全一致 |
N |
Y |
ルックアップデータの右側の値を返します。 |
Y |
Y |
ルックアップデータの左側の値を返します。 |
N |
Y |
複数の値を返します |
N |
Y |
ルックアップ列を並べ替える必要があります |
おおよその一致のみ |
二分探索のみ |
上から下へ検索 |
Y |
Y |
ハートは下から上へ |
N |
Y |
二分探索 |
N |
Y |
ルックアップ値が見つからないメッセージをカスタマイズする |
N |
Y |
ワイルドカードを検索する |
Y |
Y |
完全一致検索 |
Y |
Y |
近似検索では次に小さい値が返されます |
Y |
Y |
近似検索では次に大きい値が返されます |
N |
Y |
ルックアップ値がソートされていない場合、偽の値が返される場合があります。 |
Y - おおよその値 |
N - おおよその値、 Y - バイナリ |
テーブルを検索するために新しい列を追加すると、数式が壊れる可能性があります |
Y |
N |
Y - はい
N - いいえ
続きを見る:
VLookup の使用方法を理解した後は、一般的なエラーと問題の解決方法についても知る必要があります。
Excel で VLOOKUP 関数を使用するときによくあるエラー
ルックアップ値が間違った列にあります
VLOOKUP 数式を使用するときに発生する最も一般的なエラーの 1 つは、関数が値 #N/A のみを返すことです。このエラーは、VLOOKUP に検索を依頼したルックアップ値が見つからない場合に発生します。
場合によっては、VLOOKUP の代わりに XLOOKUP 関数を使用できますが、このエラーは VLOOKUP 関数でのみ簡単に修正できます。
問題を解決する方法:
VLOOKUP で目的の値が見つからない理由は、値がテーブルにないことが考えられます。ただし、すべての #N/A 値が返され、ルックアップ値がテキストである場合は、左から右へしか読み取れないことが原因である可能性が高くなります。
Excel で VLOOKUP 用のテーブルを作成する場合は、返したい値の左側にルックアップ値を配置してください。これを行う最も簡単な方法は、テーブルの最初の列にそれを配置することです。
これで、数式は値を返すようになります。
全体として、VLOOKUP は Microsoft Excel でデータをより高速にクエリするための優れた方法です。VLOOKUP クエリは列に対して垂直に実行され、他にもいくつかの制限がありますが、Microsoft は Excel のルックアップ機能を継続的に更新して、適用範囲を拡大しています。たとえば、HLOOKUP、XLOOKUP... は、さまざまな方向でデータを検索するのに役立ちます。LuckyTemplates.com では、今後もこの機能の使用方法に関する情報を次の記事で提供していきます。
Reddit ユーザーの MehmetSalihKoten は、Microsoft Excel で完全に機能するバージョンのテトリスを作成しました。
Excel で測定単位を変換するには、Convert 関数を使用します。
HLOOKUP関数とは何ですか? ExcelでHLOOKUP関数を使用するにはどうすればよいですか? クアントリマンで調べてみよう!
Excel の IFERROR 関数は非常によく使用されます。これをうまく使用するには、Microsoft Excel の IFERROR 式を理解する必要があります。
ExcelのVALUE関数とは何ですか? Excel の値の式とは何ですか? LuckyTemplates.com で調べてみましょう!
Excel の EOMONTH 関数は、非常に簡単な実装で、特定の月の最終日を表示するために使用されます。入力したデータに基づいて、特定の月の末日が取得されます。
Excel VBA で反復的なタスクを自動化したいですか? それでは、Do-while ループを使用して、条件が満たされるまで繰り返す一連のアクションを実装する方法を学びましょう。
Excel のデフォルトの列幅と行の高さは、入力したデータと一致しない可能性があります。Excel 2016 で列、行、セルのサイズを変更する方法を以下の記事で紹介していますので、ぜひ参考にしてください。
Excel で作業するときは常に、セルに情報 (コンテンツ) を入力する必要があります。LuckyTemplates を使って Excel 2016 のセルと範囲の基本概念を学びましょう。
ExcelのXlookup関数とは何ですか? ExcelでXlookupを使用するにはどうすればよいですか? LuckyTemplates.com で調べてみましょう!