• ベストアンサー

エクセル2003

栄養計算表を作成したいのです。画像を添付しましたが・他の場所でデーターを書きこみ 「めし」と入力すれば、「熱量」の「168」「タンパク質」の「2.5」 「脂質」の「0.3」  「カルシウム」の「3」 と言う数字が 判るようにしたいのです。 今回は本で調べながら・これらの数値を入力しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

>ご指導の通り・数式を入力し貼りつけをしました。 >そのあとの操作が判らず・困っています。  失礼しました、先程の回答には少し誤りが御座いました。 Sheet2の B1セルに   熱量 C1セルに   蛋白質 D1セルに   脂質 E1セルに   カルシウム F1セルに   食塩 ではなく、 Sheet2の B1セルに   熱量kcal C1セルに   蛋白質 g D1セルに   脂質 g E1セルに   カルシウムmg F1セルに   食塩 g という具合に、Sheet1の1行目の各項目に入力されているのと全く同じ文字列を入力して下さい。(順番は必ずしも同じである必要はありませんが、個々のセルに入力する文字列データは同じになる様にして下さい)  そして、Sheet2のA列の2行目のセルから、下に向かってデータを表示したい食品の名称を入力して行って下さい。 例えば、Sheet2の A2セルに  めし A3セルに  だいこん という具合に入力しますと、「めし」や「だいこん」のデータがSheet2のB列~F列に自動的に表示される筈です。

tositosi-1
質問者

お礼

ありがとうございました。ご丁寧に説明頂き助かりました。 出来ました。

その他の回答 (6)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.7

えーー?一体何を言ってるのですか? >下の関数を何処に入れるのでしょうか(?) それを言うならアナタのご質問も, >他の場所でデーターを書きこみ「めし」と入力すれば これ,いったい全体なんて言う名前のシートのどこ番地のセルに「めし」と入れたいのですか? >「熱量」の「168」「タンパク質」の「2.5」 「脂質」の「0.3」  「カルシウム」の「3」 と言う数字が 判るようにしたいのです。 これも。いったいどこ番地のセルに168や2.5の数字が出て欲しいのですか? そういう目に見えるアナタのエクセルの情報が無いので,あーこの方はご自分でちゃんと数式を理解して自分で必要なアレンジをできるんだなという前提で回答するしかないでしょう。 仕方がないので,次のようにお話しししました。 再掲: >作成した成分表がSheet1にあります。 あなたがご質問で掲示されている成分表が,Sheet1にあるという前提でお話ししています。 もし成分表のシート名に何か違う名前を付けているなら,当然正しいシート名に数式を直して使わないとダメです。 再掲: >シート2のA1に「めし」を書き込むと >熱量 >=IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,5,FALSE)) シート2のA1セルに「めし」を入れるんだとお話ししました。 その上で,あなたは熱量を計算で出したいのでしょう。どこかのセルに。 そのセルに,お話しした熱量の =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,5,FALSE)) という式を入れるんですと言ってます。 エクセルとか以前の日本語の問題にしか思えませんが,百歩譲ってそういうことを聞きたかったんじゃないんですというのなら,漠然と「できません」じゃなくて 「何て名前のシートのどこ番地のセルに」 「回答された式を見ながら実際にはこういう式を記入して」 「この数字が欲しかったのにこういう結果が現れました」 といった具合に,あなたが今実際にやってみたこと出来なくて困っている様子をキチンと目に見えるように皆さんにお話しください。 そうすれば,「ここを間違ってるよ」とか「それならこうするんですよ」といった,すぐに役に立つ回答も直ちに寄せられます。 ましてや,回答して貰った式をそのままコピーして聞き返すなんて,ナンの情報提供もないただの手抜きです。

tositosi-1
質問者

お礼

ありがとうございました。出来ました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

検索表があるなら(別シートでも良い)、VLOOKUP関数を使う課題では? VLOOKUP関数はビジネスなどでは必須の関数で、これに関する質問があるのは、よくわからない。 経験では、50程度のエクセル関数の解説書やリストを手元に置いて、常時参照して、使えそうな関数はないかな、と考えるようにしないと。 「エクセル VLOOKUP関数」で照会すれば、腐るほど膨大な数のWEB記事がある。 http://allabout.co.jp/gm/gc/297725/ 1例

tositosi-1
質問者

お礼

早々にお答えありがとうございます。 紹介のページ拝見しました。「めし」と入力すれば 「めし」「空白」「空白」「空白」「168」「空白」「2.5」「空白」「0.3」「空白」「3」「空白」 「0.0」と自動入力になればよいと思っているのですが・うまく行かない状態です。 食品名は100程度の予定です。 ありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 今仮に、元の表が存在しているシートがSheet1であり、Sheet2のA2に めし と入力すると、Sheet2のB2に「熱量」の「168」、Sheet2のC2に「蛋白質」の「2.5」、Sheet2のD2に「脂質」の「0.3」、Sheet2のE2に「カルシウム」の「3」、Sheet2のF2に「食塩」の「0」を表示させるものとします。  まず、Sheet2の B1セルに   熱量 C1セルに   蛋白質 D1セルに   脂質 E1セルに   カルシウム F1セルに   食塩 と入力して下さい。  次に、Sheet2のB2セルに次の数式を入力して下さい。 =IF($A2="","",VLOOKUP($A2,Sheet1!$A:$M,MATCH($A2,Sheet1!$A$1:$M$1,0),FALSE)  次に、Sheet2のB2セルをコピーして、計算表の他のデータを表示させたい全てのセル範囲に(縦横に)貼り付けて下さい。  以上です。

tositosi-1
質問者

お礼

早々にお答えありがとうございます。 ご指導の通り・数式を入力し貼りつけをしました。 そのあとの操作が判らず・困っています。

回答No.3

質問の意図を間違えていたらすんません。 したい事は、A列の項に「めし」と入力すると、入力した行の各項目に、 熱量やらなんやらが自動で表示されるという感じでしょうか。 もしそうなら、マスタリストを作成してVLOOKUPで参照するという形になるかと思います。 文字では最強に説明し難いので、画像を参照して下さい。 まず、アイテムのマスタをどこかに作成します。 これは、別のシートでもOKです。例では同じシートに記載している、マスタと書かれた塊です。 A3のセルに「ごはん」と入れるとマスタから値を持ってくるように関数を使用します。 VLOOKUPという関数を使用します。VLOOKUP関数の説明をすると長くなるので、 WEBで調べてみて下さい。分かりよいサイトがたくさんあります。 考え方としては、このやり方でいけそうですが… あと、単純にVLOOKUP関数だけを使用すると、例の5行目の様に「N/A」とでて、 ちょっとかっこ悪くなるので、その時は、 =IF(A3="","",VLOOKUP(A3,F:H,2,0) という風にしてやれば、見栄えがよくなります。

tositosi-1
質問者

お礼

早々にお答えありがとうございます。 WEBでVLOOKUPを調べながら・施行錯誤しています。 「めし」と入力すれば「空白」「空白」「空白」「168」「空白」「2.5」「空白」「0.3」「空白」「3」 「空白」「0.0」と自動入力できれば~と思っています。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

作成した成分表がSheet1にあります。 シート2のA1に「めし」を書き込むと 熱量 =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,5,FALSE)) タンパク =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,7,FALSE)) 脂質 =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,9,FALSE)) カルシウム =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,11,FALSE)) のように取り出します。

tositosi-1
質問者

お礼

早々にお答えありがとうございます。 下の関数を何処に入れるのでしょうか(?) 試しているのですが・上手くいかないのです。 熱量 =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,5,FALSE)) タンパク =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,7,FALSE)) 脂質 =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,9,FALSE)) カルシウム =IF(A1="","",VLOOKUP(A1,Sheet1!A1:M14,11,FALSE)) のように取り出します。

回答No.1

オートフィルタでダメなの?

tositosi-1
質問者

お礼

早々にお答えありがとうございます。 例えば「めし」と入力すれば・「めし」の行に・本で捜す数値「168」「2.5」「0.3」「3」 が明示される方法を探しています。 又・「めし」の下に続く食品名は順不同です。

関連するQ&A