みなさん,こんにちは。
シンノユウキ(shinno1993)です。
今回は連載:「Excelで栄養計算ソフトを自作しよう」の第3回で,
こちらの記事の続きです。
今回の記事では,VLOOKUP関数を用いて食品番号から栄養素を検索するための仕組みを作成していきます。
では,行きましょう!
前回のおさらい
まずは前回のおさらいからです。
前回は,食品成分表をダウンロードし,それを栄養計算に用いることができるように,データのクリーニングを行いました。
今回はその続きからです。
栄養計算用のシートを作成しよう
ステップ①:シートを追加しよう
まずは,栄養計算に用いるための専用のシートを用意していきます。
前回から使用している,食品成分表が掲載されているExcelブックに,新しいシートを追加してください。シート名は「栄養計算シート」とでもしておきましょう:
ステップ②:項目行を追加しよう
次に項目行を追加しましょう。
項目行は,栄養計算を行う際に目印になる行のこと。エネルギーや水分など,栄養素項目が入力されている行のことを指します。この行を基準として,食品の成分値を算出・計算していきます。
シート「本表」の,栄養素項目が表示されている1~11行目を行ごと選択・コピーし,それを「栄養計算シート」の1行目に貼り付けてください。
ステップ③:使いやすいように少し加工しよう
ここから,少し項目行を加工していきます。具体的には,以下のようにしていきましょう:
- A列:食事区分の列を追加
- E列:重量列の追加
- セルD1:「可食部100gあたりの表示」の文言の削除
ではやってみましょう。最終的に次のようなシートになればOKです:
食品名を検索してみよう
VLOOKUP関数の使い方
では,ここからVLOOKUP関数を使用していきます。
まずは食品番号から食品名を表示してみましょう。
VLOOKUP関数は,今回に限らずExcel作業全般で非常によく使う関数です。その一方,理解するのが難しい関数でもあります。ゆっくりで大丈夫ですので,しっかりと理解しておきましょう!
VLOOKUP関数は以下のように記述します:
この関数を,今回の目的:食品名を検索するに当てはめてみましょう。下記のようになります:
- 検索値:食品の食品番号(01001など)
- 範囲:食品成分表の本表シート
- 列番号:食品名のある列(食品番号がある列から数えて3列目)
- 検索方法:部分一致では他の値を拾う可能性があるため完全一致→FALSEで
実際に記述してみよう
では,食品名を表示させるセルに,VLOOKUP関数を記述していきましょう。
今回は,「栄養計算シート」のセルD12に記述していきます。式は以下のようになります:
- B12:食品番号が入力する予定のセル番地
- 本表!A12:BH2489:成分値が入力されている範囲。本表シートのセルA12からBH2489までの範囲を示しています。
- 3:列番号。先ほどの指定した検索する範囲,すなわちA12:BH2489の3列目(C列)に食品名が位置しているため,この値になります
- FALSE:検索方法。完全一致を意味するFALSEを指定しています
上記を入力すると下記のようになります:
現段階ではエラーが出ていますが,問題はありません。食品番号がまだ入力されていないためです。
ではいよいよ,食品番号を入力してみましょう。下記のように,セルB12に食品番号:01001を入力してください:
01001を入力しても表示は1001になってしまい,先頭の0が省略されてしまっています。本来の食品コードとは異なりますが,検索される側の本表シートも先頭の0を省略した形に変換されています。そのためこの場合は問題となりません。
食品名の場所に「アマランサス 玄穀 」が表示されたらうまくできています!
これで,食品番号から食品名を検索することができました!やってみると以外と簡単ですよね。
今回はここまで。次回からはエネルギーなどの成分値を検索してみましょう!
まとめ
今回は,栄養計算シートを作成し,実際に食品名の検索を行いました。
具体的には以下の2つを行いました:
- 栄養計算シートを追加し,成分値などの項目行を追加した
- VLOOKUP関数を用いて食品番号から食品名を表示した
また次回から頑張りましょう!
次回の記事はこちら:
連載目次
- Excelで栄養計算ソフトを自作しよう!【成分表2020年版対応】
- 栄養計算ソフトのための食品成分表をExcelで作成しよう!【成分表2020年版対応】
- VLOOKUP関数で食品成分表から食品名を検索しよう!【成分表2020年版対応】現在のページ
- Excelで食品成分表から食品のエネルギーを算出してみよう!【成分表2020年版対応】
- Excelで食品成分表から色々な栄養素の成分値を算出してみよう!【成分表2020年版対応】
- SUM関数で算出した栄養素を合計してみよう!【成分表2020年版対応】
- SUMIF関数で食事区分ごとに栄養素を合計しよう!【成分表2020年版対応】
- 【完成】Excelで栄養計算ソフトを作成してみた!【成分表2020年版対応】