Excelで栄養計算ソフトを自作しよう!第3回:VLOOKUP関数で食品名を検索しよう

シェアする

  • このエントリーをはてなブックマークに追加

みなさん、こんにちは。
シンノユウキです。

今回は、「Excelで栄養計算ソフトを自作しよう」の第3回で、

みなさん、こんにちは。 シンノユウキです。 今回は、「Excelで栄養計算ソフトを自作しよう」の第2回で、 こ...

こちらの記事の続きです。

いよいよ今回から栄養計算ソフトの肝であるVLOOKUPによる検索を行っていきます。

あまり複雑にならないよう、なるべくシンプルになるように構成します。

では、行きましょう。

前回のおさらい

まずは前回のおさらいからです。

前回は、食品成分表をダウンロードし、それを栄養計算に用いることができるように、データのクリーニングを行いました。

文部科学省のHPから成分表をダウンロードし、置換機能を用いて値をクリーニングしましたね。

今回はその続きからです。

栄養計算用のシートを用意しよう

シートを追加しよう

まずは、栄養計算に用いるための専用のシートを用意します。前回から使用している、食品成分表が掲載されているExcelブックに、新しいシートを追加してください。シート名は「栄養計算シート」とでもしましょうか。

こんな感じで、シートを追加してください。

項目行を追加しよう

ここから、栄養計算を行うのに必要となる項目行を、シートに追加していきます。項目行というのは、栄養計算を行う際の指標となる行のことで、エネルギーや水分など、栄養素項目が入力されている行のことです。後々、この行を基準として食品の成分値を算出・計算していきます。

シート「本表」の、栄養素項目が表示されている5~8行を選択・コピーし、それを「栄養計算シート」の1行目から貼り付けてください。

ここを選択・コピーして、

「栄養計算シート」のここに貼り付けます。

使いやすいように少し加工しよう

ここから、少し項目行を加工していきます。具体的には、以下のようにしていきましょう。

  • 英名が表示されている3行目を削除
  • 重量を入力するための列を食品名の次の列になるように挿入
  • 今回は使用しない食品群の列を削除

ではやってみましょう。次のようなシートになればOKです。

食品名を検索してみよう

VLOOKUP関数の使い方

では、ここからVLOOKUP関数を使用していきます。

まずは食品番号から食品名を表示してみましょう。

VLOOKUP関数は以下のように記述します。

この関数を、今回の目的に当てはめてみましょう。すなわち、

  • 食品番号を検索値として、
  • 食品成分表の範囲の中から、
  • 食品名のある列を表示したい。
  • 検索方法は、部分一致では他の値を拾う可能性があるため完全一致で。

ということになります。

実際に記述してみよう

では、食品名を表示させるセルに、VLOOKUP関数を記述していきましょう。今回は、「栄養計算シート」のセルC4に記述するようにします。

=VLOOKUP(A4,本表!B9:BO2199,3,FALSE)

  • A4は、食品番号が入力する予定のセル番地です。
  • 本表!B9:BO2199は、成分値が入力されている範囲です。本表シートのセルB9からBO2199までの範囲を示しています。なぜA列から指定しないのかというと、食品群列に入力されている数値が検索の邪魔になってしまうからなのですね。そのため、範囲はB列列の食品番号からになります。
  • 3は、列番号で、先ほどの指定した検索する範囲、すなわち本表!B9:BO2199の3列目に食品名が位置しているため、この値になります。
  • 検索方法は、完全一致を意味するFALSEを指定しています。

こんな画面になりましたか?エラーが出ていますが、問題はありません。食品番号がまだ入力されていないためですので。

ではいよいよ食品番号を入力してみましょう。

セルA4に食品番号を入力してください。

この場合、食品番号の先頭の0は省略されてしまいますが、検索上は問題ありません。文字列から数値に変換した際に成分表の方も先頭の0は削除されていまっているので、問題はないのですね。

例として、食品番号「01001」の「アマランサス 玄穀 」を検索してみました。「01001」の先頭の0は無視されてしまうので、表示上は「1001」になっていますが、問題なく、食品名の場所に「アマランサス 玄穀 」が表示されましたね。

これで、晴れて食品番号から食品名を検索することができました。やってみると以外と簡単ですよね。

今回はここまで。次回からはエネルギーなどの成分値を検索してみましょう。

まとめ

今回は、栄養計算シートを作成し、実際に食品名の検索を行いました。

具体的には以下の2つを行いました。

  • 栄養計算シートを追加し、成分値などの項目行を追加した
  • VLOOKUP関数を用いて食品番号から食品名を表示した

また次回から頑張りましょう。

連載目次