Excelで以下のような、いくらからいくらまでが何と表す一覧表を作ったとします。
これって人が見る分には何も問題ないのですが、Excelの計算式として考えると、よくないです。
何がいけないか
こんな、お買い上げ金額がいくらと入力したらお客様ランクが表示されるようなアプリケーションを作ったとするじゃないですか。
その時に使うのは、おなじみVLOOKUP関数、近似値一致の方法なんですね。
でも、A列に入力されているのは、「数値」ではなく、いくら「~」いくらという「文字列」データなんです。
VLOOKUP関数の近似値一致は数値しか検索できないので、これでは検索できません。
せっかくVLOOKUP関数という便利な方法があって、シンプルに求まるのに、これではもったいないわけです。
VLOOKUP関数で近似値を探す
実際にVLOOKUP関数を使えるような表にしてみましょう。
1列目を数値とするためには、次のような表の構造になるでしょう。
A列はVLOOKUP関数の近似値一致を使うために、いくらからいくらまでの、はじめのいくらの数値を入れています。
VLOOKUP関数で検索するためにはこの列だけでいいです。
B列は不要です。
でも、人が見て見やすくするために、B列に「~」いくらと入力しています。大事なところなのでもう一度言います。Excel的にはB列はいりません。
次の表でセルB8に入るVLOOKUP関数は、A2からA5までの範囲の中で、B7の数値を超えない行を探し、その行に対するA2からC5の範囲の3列目を出すことになります。
=VLOOKUP(B7,A2:C5,3,TRUE)
という計算式になるでしょう。
セル結合ってこういうケースならいいんじゃない?
セルB2が空白になってしまいます。
このようなケースでは、セルA1とB1を「結合して中央ぞろえ」はしていいのではないかと思います。
今回の項目名は、人間が見やすければいいので。
セル結合は絶対してはいけないという意見もありますが、それはあくまでExcel都合であって、Excel都合が関係ない部分で人間が結合した方が使いやすいケースなのであれば結合していいと私は思います。
せっかくそのような機能があるのですから。
まとめ
今回は、VLOOKUP関数初心者が間違えやすい表レイアウトの概念を説明しました。
VLOOKUP関数でできないから、VLOOKUP関数を諦めるということは、私は反対です。
他の方法を使うとシンプルにできるものが複雑化するので、できれば素直にできる方法を選択したいものです。
ちなみに、VLOOKUP関数で次のような計算式を作れば、A列がどんな入力だろうと、なんならこの元の表がなくともデータが検索できます。
=VLOOKUP(B7,{0,”A”;1000,”B”;5000,”C”;20000,”D”},3,TRUE)
VLOOKUP関数の中に一覧表を埋め込んじゃう方法です。
コメント