- 締切済み
エクセルにて作りたい計算表があるけど、関数をどのようにすればいいかわかりません
みなさん、こんばんは。早速ですが質問です。 現在エクセルにて計算機(シュミレーター)を製作しているのですが、その計算表をつくるためにどのような関数を使用すればいいのかが分からない状態です。 以下にどのような仕組みを持った計算機を作りたいかの詳細を書くので、ここはこのような関数を使うといいよ。などといったアドバイスをよろしくお願いします。 ~~~~~以下計算機の概略~~~~~~~ ・ゴルフゲームの打球シュミレーターです。 ・幾つかの数値を入力すると(例残り距離、風、高低差など)その数値に応じた数値が出力される(例打つパワー、横ずれ具合など)というもの。 ・補正値の表から適切な数値を計算式に読み込む(風が3のときは表の風3を読み込むといった感じです。) このような計算機を作りたいと考えています。この中で特に三つ目の仕組みの作り方が全くわからない状況です。 くだらないなぁと思われるかもしれませんが、息子のためにつくってやりたい計算機なので、みなさまのお力をどうか貸してください。 よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- i_a_d
- ベストアンサー率50% (1/2)
3つ目は“VLOOKUP”を使えばいいのではないでしょうか?(検索/行列 のところにあります) 計算式とは別の場所に表を作っておいて、そこから適切なものを呼び出すというものです。 「風3」と入力したら、「風1,風2,風3,風4…」とある表の中から「風3」の部分を抜き出せればいいという意味ですよね?(わかりにくくてすみません) VLOOKUPの使い方はhttp://www.excel.studio-kazu.jp/lib/e1tw/e1tw.htmlなどに出ています。 素人大学生の意見なのでとんだ勘違いかもしれませんが、少しでも参考になったらうれしいです。
- maniacpapa
- ベストアンサー率64% (9/14)
具体的にどのような計算をされたいのか,見当が付きませんでしたので,3つ目の仕組みだけ・・・・・。 今,sheet2に下記のようなデータを入力するとします。これが,「補正表」です。 --------------------- 1|3|8 2|4|7 3|5|6 4|6|5 5|7|4 -------------------- 上記はA1からC5の範囲で入力されていると思います。 上記の表は,例えば,1列目が風の強さ,2列目がそれに対する補正値1,3列目が補正値2だとします。 sheet1に計算式を記入します。 A1とB1とC1には,それぞれ,残り距離,高低差,風が入力されるとします。C1に入力された,風の強さを読み取って先ほどsheet2に作成した補正表からD1とE1にそれぞれ補正値1と補正値2を読み取ってくるためには, D1には「=VLOOKUP(C1,Sheet2!A1:C5,2,FALSE)」 E1には「=VLOOKUP(C1,Sheet2!A1:C5,3,FALSE)」 と入力すると,C1に入力された値に対応するデータをそれぞれ読み取ってくれます。 後はA1,B1,C1,D1,E1の値を利用して計算したい式をF1に入力すれば,お望みのことができると思います。 ここで補正表に関して注意していただきたいことは, 1.検索のキーとなる値(上記の例では風の強さ)は表の一番左になければなりません。 2.また,そのデータは昇順に並び替えられている必要があります。 また,今回使用した「vlookup」という関数ですが,簡単に説明しますと, 「=VLOOKUP(C1,Sheet2!A1:C5,2,FALSE)」は "C1"は検索したいデータです。 "Sheet2!A1:C5"はデータとして使用したい表の範囲を指定します。 "2"は検索結果をどの列から取得するかを指定します。 "FALSE"は,完全に一致した結果だけを取得するというおまじないです。 以上です。 具体的に計算したい内容がわかれば,もう少し詳しくご回答できるかもしれません。 お子さんのためにがんばってください。
補足
親切な回答ありがとうございます。 早速教えてもらった関数を使って作ってみたいと思います。 もう少し詳しいアドバイスをいただけると嬉しいので、具体的に計算したい内容を表記します。 少し長いですが、式の内容はこうなっています。 以下の式のうち、距離補正値と横ずれ補正値と高低差と風の成分が表から適切な値を取得する必要がある場所です。完成の予定としては、カップまでの残りの距離と高度差と風を入力すると打つ%とずれが出力されるというものを目指しています。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 【打つ%】=(【カップまでの距離】+【高低差】-【風の縦成分】)÷【最大飛距離】x100÷【距離補正値】+【地面の影響値】 【距離補正値】→(【カップまでの距離】+【高低差】-【風の縦成分】)÷【最大飛距離】= a(%)を先に求めて【距離補正値表】から求める(a=90%なら0.990みたいな感じです) 【横ズレ】=【風の横成分】x【横ズレ補正値】 ・【横ズレ補正値】→(【カップまでの距離】-【高低差】+【風の縦成分】)÷【最大飛距離】x100= b(%)を先に求めて【距離補正値表】から横ズレ用【距離補正値】を求めてb(%)÷横ズレ用【距離補正値】から横ズレ用【飛距離(%)】を求め、横ズレ用【飛距離(%)】で【横ズレ補正値表】から求める。 微調整として【最大飛距離】x0.92≦【カップまでの距離】で高低差が -11.1m以下なら【打つ%】に+0.5% -16.6m以下なら【打つ%】に+1.0% -19.8m以下なら【打つ%】に+1.5% を足す 【最大飛距離】x0.92≦【カップまでの距離】<【最大飛距離】の場合【横ズレ】の答えをx1.03する 【最大飛距離】≦【カップまでの距離】の場合【横ズレ】の答えをx1.05する ~~~~~~~~~~~~~~~~~~~~~~~~~~~ お時間のあるときでよろしいのでアドバイスよろしくおねがいします。
お礼
すばやい回答ありがとうございました。 参考アドレスなども載せていただきとても助かりました。 早速教えていただいた関数を使用して頑張ってみたいと思います。