2006年 11月 27日
1つのセルにコードを入力するだけで商品名、単価などをまとめて表示することができます。 ヘルプには、 指定された範囲の 1 列目で特定の値を検索し、その範囲内の別の列の同じ行にある値を返します。と書かれています。 関数は便利だけど、やっぱり良く分からないという方は多いですね。 私もすらすらできるわけじゃないです。 でも、一度設定しておけばあとは楽ですからね。 VLOOKUP関数 =VLOOK(検索値、範囲、列番号、検索の型) 検索の型・・・・FALSE(完全一致)「0」、TRUE(近似値)「1」 検索の型は、省略することできますが、省略するとTRUE「1」になります。 ![]() 上の表でセル「A2」に「001」と入力すると、セル「B2」には「商品名」が、セル「C3」には「単価」が自動的に入力されるようになります。 セル「B2」~「C11」には関数を入力しています。 まず参照表を作成します。これは他のブックなどからコピーして貼り付けていいです。 同じブックの他のシートに参照表があっても構いません。 上の表では、セル「E2~G6」の範囲です。 参照範囲の左端の列には、必ず検索に使う値が表示されていなければなりません。 まずセル「A2」に「001」と入力します。商品番号の中の数字であればどれでもいいです。 書式はあらかじめ文字列の設定にして、中央揃えにしています。 セル「B2」をアクティブにして、数式バーの「fx」(関数の挿入ボタン)をクリックします。 ![]() 「関数の挿入」ダイアログボックスで「すべて表示」にして「関数名」ボックスの中でどこでもいいですからクリックします。 直接入力にして、「V」キーを押すと「V」で始まる関数へ移動します。 関数の見つけ方を参考にしてください。図説しています。 「VLOOKUP」関数を選択します。 VLOOKUP(検索値.範囲.列番号.検索の型) と書かれています。 この「テーブルは昇順で並べ替えておく必要があります。」は近似値を求める場合には重要です。 「OK」ボタンをクリックします。 ![]() 「検索値」のテキストボックスをクリックして、セル「A2」をクリックします。 そうすると、「検索値」のテキストボックスに「A2」と入力されます。 同じように「範囲」のテキストボックスをクリックして、参照範囲を指定します。 参照範囲であるセル「E2~G6」をドラッグします。 そして、この範囲は常に参照するように、参照範囲が移動しないように「F4」キーを押して絶対参照にします。 絶対参照については、以下の記事で解説しています。 「列番号」は参照範囲の中で左から何列目を参照するかの指定です。 2列目(F列)を指定したいので「2」と入力します。ここはキーボートから入力してください。 「検索の型」は完全一致にしたいので「0」をキーボードから入力します。 「数式の結果=」を見て、目的のものが表示されているか確認します。 はじめにセル「A2」に商品コードを入力するのは、ここで「数式の結果=」を確認するためです。 関数は結果が出ないと、がっかりしてしまうものです。 ここで予め確認しておくと安心ですね。(^.^) 目的の結果が出ている場合は、「OK」ボタンをクリックします。 結果が出ていない場合は、どこかに間違いがないかダイアログボックスを確認してください。 ![]() =VLOOKUP(A2,$E$2:$G$6,2,0) セル「B2」には「白菜」と表示されます。 ワーイ、出来たぁ~♪と言いたいとこですが・・ この関数をオートフィルで下へドラッグすると、エラーが表示されます。 エラーが表示されてもめげないでください。エラーは修正できればいいです。 まず、なぜエラーがでるかというと・・ ためしにセル「A3」に商品番号を入力すると、エラーは消えますね。 参照先のセルに値がないから、参照先が空白だからです。 ![]() 空白であってもエラーが出ないようにするためには、 「参照先が空白の場合は空白にする」という設定をします。 Excel2007以降は、IFERROR関数を使ってエラーを回避することができます。 以下の記事を参照してください。 もちろん、以下の方法でもエラーを非表示にすることはできます。 IF関数を組み合わせます。 セル「B2」をアクティブにして、数式バーで下のように書き換えます。 =IF(A2="","",VLOOKUP(A2,$E$2:$G$6,2,0)) 直接入力で入力します。小文字で入力して構いません。 オートフィルで下へドラッグするとエラーは非表示になります。良かったですね(^.^) ![]() では、単価の列はどうするかというと セル「C2」に下のように入力するといいです。 列番号を3に変えるだけです。 =IF(A2="","",VLOOKUP(A2,$E$2:$G$6,3,0)) ![]() でも、入力するのは大変なのでオートフィルを使ってください。 セル「B2」からそのままオートフィルを使うと、数式の「A2」が「B2」に変わってしまい、求める値を得ることができません。 1つ隣の列だけなら、修正すればいいですが 横に長く続くような表なら、セル「B2」の数式を下のように変えたほうがいいです。 参照先のセル「A2」の列番号だけが変わらないように絶対参照をつけます。 数式バーのA2の位置にカーソルを置いて、F4キーを3回押すといいです。 そうすると、どんなに横に長くても列番号を変更するだけでいいですからね。 =IF($A2="","",VLOOKUP($A2,$E$2:$G$6,2,0)) ![]() 入力規則については、リストから入力などを参照してください。 ![]() ほかのワークシートから参照する方法については、以下の記事で解説しています。 VLOOKUPの近似値(TRUE)を使って、検索対象から検索値以下の一番近い値を求める方法も解説しています。 VLOOKUP関数を学習するにはお勧めのテキストです。 Power Queryを使って、2つのデータの共通項目列を関連付けして1つのテーブルにすることもできます。VLOOKUPより簡単かもしれません。 [XLOOKUP関数]を使用すると、IFERROR関数は不要です。XLOOKUP関数は、Microsoft 365のExcelとExcel2021で使用できます。 検索値が見つからない場合に指定できる引数[見つからない場合]があります。
by hama_y
| 2006-11-27 01:57
| Excel
|▲TOPへ
|
記事ランキング
最新の記事
検索
外部リンク
連絡先
| |||||||||||||||||||||||
ファン申請 |
||