| すぐマク YNxv959 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| 指定された値から別表を検索して目的の値を取り出すには? |
|
|
|||||
![]() あるセルを参照し、そのセルの数値によって別表を参照して、いくら以上ならば、その隣のセル値を表示するには? 左図の場合、参照セル値が34なので、別表の表示項目から60を表示セルに表示させたい。 |
|
|||
これを叶えてくれるワークシート関数があります。それは VLOOKUP 関数で、指定された値から情報テーブルを検索して、目的の値を取り出してくれます。
VLOOKUP関数を使うためには、情報テーブルを用意しなければなりませんので、質問の図を、左図のとおり修整してみました。変更カ所は、別表の中の「以上」の列を数値に変えました。「未満」の列は不用ですが、そのままにしてあります。 VLOOKUP関数の書式は次のとおりで、数式として A6セルに入力しておきます。 VLOOKUP(検索値, 範囲, 列番号, 検索の型) 引数の指定方法を Excelのヘルプで調べて、下記に抜粋しておきました。 ・「検索値」には、A3セルを指定します。 ・「範囲」とは情報テーブルの範囲のことですから、C3:E7を指定します。「範囲」の左端列のデータは、最後の引数「検索の型」に TRUEを指定した場合は、昇順に並べ替えておく必要があります。 ・「列番号」とは目的の値が入っている列が、情報テーブルの何列目にあるかを指定します。この場合は C列から数えるので 3になります。 ・「検索の型」は、検索値と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。 TRUE を指定するか省略すると、検索値が見つからない場合に、検索値未満で最も大きい値が使用されます。 FALSE を指定すると、検索値と完全に一致する値だけが検索され、見つからない場合は エラー値 #N/A が返されます。 この回答では省略していまので、検索値と完全に一致する値か、検索値未満で最も大きい値が返されます。 例えば、A3セルの値が 30の場合は、A6セルには 60が返されます。 ここで気になっていることを検討しておきましょう。 質問の図をよく見ると、 C列の見出しが「以上」になっていますが、C3:C7セルの値は「10<」〜「50<」のようにイコール記号(=)が付いていません。例えば、A3セルの値がジャスト 30であった場合の返り値は、60で良いのでしょうか。もしも具合が悪い場合は、回答の図の C3:C7セルの値を調整する必要があるでしょう。 サンプルブックのダウンロードは ここをクリック (YNxv959.xls 20KB) ※ 一旦、ブックをハードディスクに保存し、後で改めて開いてから実行してください。 VLOOKUPの参考ページ: ・ VLOOKUPで検索可能にするには?? ・ VLOOKUP関数で出たエラー値#N/Aを0にするには? ・ セルに入力したブック名でそのブックを開くには? |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |