• ベストアンサー

Excelで定数の使い方を教えてください

例えば「A1」と「A2」のセルを掛けて「A3」に結果を表示させるとした場合、「A1」には数字を入力しますが、その数字ではなく別の決まった数字を代入(?)したいのですが、どうすれば出来るのでしょうか? 100と入れたら「0.25」を1000と入れたら「0.75」をというように・・・。因みに入力する数字は24個しかありません。 また、その24個以外の数字以外が入力された場合、エラー表示とさせる事は出来ますか? ヘルプを見ても解説書を見ても分かりませんでした。もし宜しければお願い致します。

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

  • ベストアンサー
回答No.2

別に1枚シートを使います。そのシートを選択して… A1からA11に「A1」に使いたい100~3000の値を入力します(24種類でも同様に出来ます)。小さい順にして下さい。 B1からB11にそれぞれ対応する0.25,0.75等の値を入力します。 A1からA11を選択し、Ctrlを押しながらF3を押します。名前欄に「選択肢1」と入力しEnter。 A1からB11を選択、Ctrlを押しながらF3を押し、名前欄に「対応表1」と入力しEnter。 C列・D列には「A2」に使いたい値と対応値を入力し、同様に「選択肢2」・「対応表2」の名前をつけます。 これで準備終了。実際に使いたいシートを選択して下さい。 A1を選択してツールバーのデータ→入力規則→設定タブの「入力値の種類」でリストを選択。「元の値」にカーソルを当て「選択肢1」と入力。 エラーメッセージタブを選びスタイルが停止になっていなかったら停止に直しOK。 A2にも同様に入力規則(今度は「元の値」は「選択肢2」)を設定。 A3に =VLOOKUP(A1,対応表1,2)*VLOOKUP(A2,対応表2,2) と入力。 以上でプルダウンメニューとエラーメッセージ(プルダウンを使わずにリスト外の値を入力しようとした場合)に対応出来ています。

toshi777
質問者

補足

詳しくて分かりやすい解説有難うございます。 早速試してみましたが、プルダウンをクリックしても「選択肢1」としか出てこなくて100~3000の数字が選択できないのです。何がいけないのでしょうか? 解説の通りに順番にやってみましたが、どうしても出来なくて困っています。 お手数ですがご教授下さいますようお願い致します。 それから後の参考までに「=VLOOKUP(A1,対応表1,2)*VLOOKUP(A2,対応表2,2) 」の意味も教えていただけると有りがたいです。具体的には式の中の”対応表1,”の後の「2」はどういった意味なのでしょうか?全くの初歩的な質問で申し訳ありませんが合わせてお願い致します。

その他の回答 (6)

  • comv
  • ベストアンサー率52% (322/612)
回答No.7

今見たら「,」一箇所抜かしてました・・・! 失礼しました! =IF(COUNTA(C12,E12,F12)<3,"",VLOOKUP(C12,対応表1,2,0)*(VLOOKUP(E12,対応表2,2,0)-VLOOKUP(F12,対応表3,2,0))

  • comv
  • ベストアンサー率52% (322/612)
回答No.6

みなさん こんにちは! >ところで、「A2」に日本語を入力したのですが ありゃ・・・項目は数値じゃないのですか(^^; 文字列が検索ちであれば入力のチェックは COUNT() → COUNTA() >選択肢の下を選ぶと「#N/A」と 想像ですが、VLOOKUP()の数式で、検索型を指定せずに 検索値に数値の昇順でないものを使ったためです。 VLOOKUP(A1,対応表1,2) → VLOOKUP(A1,対応表1,2,0) のように最後に「,0」と完全一致を指定して下さい。 結果、以下のようになります。 > =VLOOKUP(C12,対応表1,2)*(VLOOKUP(E12,対応表2,2)-VLOOKUP(F12,対応表3,2)) 以上で上記の式も対応可能です。 ↓  =IF(COUNTA(C12,E12,F12)<3,""VLOOKUP(C12,対応表1,2,0)*(VLOOKUP(E12,対応表2,2,0)-VLOOKUP(F12,対応表3,2,0)) 上記の式をコピーして数式バーに貼り付けてみて下さい。

toshi777
質問者

お礼

お世話様でした。 やっと2日前に完成致しました。 思っていた以上のものが出来あがり大変満足しています。 これも皆さんのアドバイスのおかげです。 本当に有難うございました。 >ありゃ・・・項目は数値じゃないのですか(^^; すいませんでした。作っているうちに文字の方がスッキリ作れるのがわかったので同じようにしてみたら出来るかななんて思ったものですから・・・。

回答No.5

comvさん、ありがとうございます。toshi777さん、ごめんなさい。 入力規則の元の値に「=」を付けなかったのは確かに間違いでした。 尚、元の値欄でF3を押すことで定義された名前を選択することも出来ます。

toshi777
質問者

お礼

HitomiKuroseさん、有難うございました。 お蔭様で2日前に完成致しました。 予想以上の出来で大変満足しています。 丁寧で分かりやすい回答、本当に有難うございました。

toshi777
質問者

補足

いえいえ、気づかない私のミスです。 F3を押しても出来るんですね。 有難うございました。 でもcomvさんのレスでも書きましたが、選択肢の下を選ぶと「#N/A」と返ってきて意味もわからず困ってしまいました。 ヘルプを読んだのですが、何の事か理解に困っています。 もしお時間があればアドバイスをお願い致します。

  • comv
  • ベストアンサー率52% (322/612)
回答No.4

みなさん こんばんは! sdaruさんとHitomiKuroseさんのレスを合わせたような回答ですが! まず名前の定義はちゃんとできているとの前提で! (HitomiKuroseさんが使った名前をお借りします) それぞれの、入力規則 リスト 元の値の欄に  セルA1の場合 =選択肢1 <・・・イコールを付ける  セルA2の場合 =選択肢2 <・・・イコールを付ける 次にA3の計算式ですが、基本はHitomiKuroseさんのもの でOKですが、シートを保護しないのであれば、コピペや 置換で入力規則以外のものを入れることができてしまう ためその時にエラーを出すものを付加した方がよいので  =IF(COUNT(A1:A2)<2,"",IF(ISERROR(MATCH(A1,選択肢1,0))+ISERROR(MATCH(A2,選択肢2,0)),"エラー",VLOOKUP(A1,対応表1,2,0)*VLOOKUP(A2,対応表2,2,0))) (これはsdaruさんのレスに記載されていた部分ですね^^) または 処理ルーチンは多いが、数式は多少簡単なもの =IF(COUNT(A1:A2)<2,"",IF(COUNTIF(選択肢1,A1)+COUNTIF(選択肢2,A2)=2,VLOOKUP(A1,対応表1,2,0)*VLOOKUP(A2,対応表2,2,0),"エラー")) シートを保護するのであれば! =IF(COUNT(A1:A2)<2,"",VLOOKUP(A1,対応表1,2,0)*VLOOKUP(A2,対応表2,2,0)) でOKだと思います! >”対応表1,”の後の「2」はどういった意味なのでしょうか? 指定範囲の1列目で検索してヒットした行の「2列目」の 値を返すって意味です。 今回の場合 A1が100 の時 対応表1の1列目の100が 記載されている行の隣(2列目)の0.25が値となります。 まずは、ヘルプを見ることを習慣にするよう、お勧めします! 事例も含めて結構詳しく書かれていますから! アシスタント(カイルくん^^;)の検索欄で VLOOKUP 関数 と入力して検索で出てきます!

toshi777
質問者

お礼

すいません。お礼の欄を使ってしまいましたが、補足の補足です。 「6泊7日」「13泊14日」が出来ないのではなく、「13泊14日」と「1ヶ月以内」が「#N/A」で計算結果が返ってくるのです。 訂正でした・・・。

toshi777
質問者

補足

丁寧な補足有難うございました。 早速「=」を入れてみたら出来ました!!本当に有難うございます。 >まずは、ヘルプを見ることを習慣にするよう、お勧めします! 事例も含めて結構詳しく書かれていますから! そうですよね。私もヘルプを見る癖はつけているのですが、私にとっては難解な言葉で書かれているため殆ど理解できないのです・・・・。情けない話ですが。 もう少し解説書なりを購入して勉強したいと思います。 ところで、「A2」に日本語を入力したのですが、うまく行く所と、そうでないところがあるんです。 具体的には「3泊4日」「6泊7日」「13泊14日」「1ヶ月以内」を選択できる様にして、それぞれ返す値は25・30・40・65なのですが「6泊7日」「13泊14日」を選択すると「#N/A」が出てきてしまうのです。ヘルプを見ましたがチンプンカンプンです。 お手隙の時で結構ですので教えていただければ有りがたいです。 あと計算式で「A2」から最初に数値を引くことは可能ですか? 具体的には仮に「B1」を引くとします。 選択肢は「免責無し」「免責1000円」で返す値はそれぞれ0・0.25です。 これもやってみたら「免責1000円」だけが「#N/A」で返ってきてしまいました。 式はHitomiKuroseさんに作っていただいたものを使用しています。=VLOOKUP(C12,対応表1,2)*(VLOOKUP(E12,対応表2,2)-VLOOKUP(F12,対応表3,2))と言う式ですが、何処がおかしいのでしょうか? それでは宜しくお願い致します。

  • sdaru
  • ベストアンサー率22% (94/409)
回答No.3

先に回答したsdaruです。 簡単に返事しましたがやって見ましたが結構難しいです。 どなたか先に回答がありましたら参考にして下さい。 私が間に合えばいずれ回答します。

toshi777
質問者

お礼

真っ先に回答していただき本当に有難うございました。 やっと完成致しました。 また何かありましたら宜しくお願い致します。

  • sdaru
  • ベストアンサー率22% (94/409)
回答No.1

質問の意味が良く分からない部分があります。 100の場合は0.25に、1000の時には0.75に固定するのか 24個の数字はどのような数字なのか? A1*A2の結果をA3に表示するときどのセルを固定するのか? でもお尋ねの方法は可能です。 エクセルの関数を使えば幾通りかの方法が有ります。 エクセルの表示画面を(レイアウト)どのようにするかは貴方の考えに より変わってきます。 例えば24個の数字を常に画面に表示して置くとか、固定した数字を入れたセルの 表示に保護を掛けて他の数字や文字の入力をさせないとか IF,LOOKUP、MUCHのような関数を使うとか等々。 エクセルには関数を使えば色々有りますが。 関数の使い方の参考書は色々有ります。私はエクスメディア社の超図解 エクセル関数変を参考にして勉強しています。

toshi777
質問者

補足

早速の回答有難うございます。 24個の数字はそれぞれ100・200・250・300・500・750・1000・1500・2000・2500・3000で、ほんとはもう少し(あと13個)足したいのですが別の方法でそれは対処できます。 ほんとはプルダウンで11個の数字を選択できればいいのですが難度が高そうなので下に選択できるようにそれぞれの数字を表示しておきます。 >100の場合は0.25に、1000の時には0.75に固定するのか 完全に固定です。別の値は使いません。 >A1*A2の結果をA3に表示するときどのセルを固定するのか? どのセルも固定しません。A1もA2も数字を入力します。(A2もA1と同様に入力した数字とは別の値で計算出来る様にしたいのです) 私の参考書は入門書で関数は殆ど(SUM等の基本的なもの)載っていないもので後日探してみる予定です。

関連するQ&A

  • エクセルの配列数式、配列定数について教えてください

    エクセルに配列数式、配列定数というものがあることを最近知りました。 エクセルのA1セルに={1,3,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力すると、 A2セルに1と表示されます。A2には1以外の数字が含まれることは何となく理解できるのですが、どのような計算結果が算出されるのかが理解できません。また、A2の1以外の計算結果を表示させる方法がわかりません。 同様に、A1セルに={1,2,2,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力した場合(これもA2セルに1と表示されます)のA2の計算結果と表示方法がわかりません。 ご教示をよろしくお願いいたします。

  • エクセル 結合したセルの内容を読み取ってくれません

    A1=10 A2=1 上記が既に入力されている状態で A3セルで、 A2セルの数字とAという文字から合成した 「A1」 という文字を作り、A1の値である10 を表示させたいのですがうまくいきません。 A3セルには下記の記述を試してみましたが ="A"&A2 結果 A1 ="=A"&A2 結果 =A1 と表示されるだけで、その値である10を表示してくれません。 おそらくA1を文字として認識してしまっているのが原因かと思うのですがいろいろ試してみてもエラーばかりです。 ヘルプなどを見てみたのですがうまくいきません。誰かお助けください。

  • エクセルで 符号をセルに入力して式に反映するには

    A1より縦に 5 3 と数字があり、 「5>3だったら1、満たさない場合は2」と いう関数をA5セルに入れます。  =if(A1>A2,1,2) ここまでは出来るのですが、 出来ればセルに「>」や「<」の符号を入力して すぐさま条件を変えた結果を見れるようにしたいのですが これはどうやったら出来ますか? 理想は、A4セルに符号を入力しその結果をA5セルに表示したいです。 もしこのようなことが出来るようでしたら教えてください。 お願いいたします。 また、別の方法でも簡単に条件を変えた結果を表示する方法があれば教えて頂けるとうれしいです。

  • Excel 2003 0/0がエラーになる

    質問です。 =IF(F4=0,0,E4/E3) 過去のデータで調べて、上記のような式を入れるとセルF4の値が0の場合には0という値が入り、0以外の場合はE4/E3の計算結果が入力されるはずなのですが、E4/E3の結果を反映してくれません…。うまく説明できませんが、なぜだかわからず困っています。 やりたいことですが、セルE4とE3にそれぞれ数字が入っていて、E4/E3の結果が0以外の場合にはセルF4にE4/E3の計算が入ります。E4/E3が0の場合はF4に0という数字が入ります(ここでエラー表示となってしまいます)。すごく単純なことのような気がするのですが、はまってしまいました…。 どなたかお願い致します。

  • EXCELで 数字の振り分け(定数で割って表示)をしたい

    説明が下手かと思いますが、ご了承下さい。 入力した数字を、定数で分けて入力したい。 例えば、セルA1に2500と入力する 定数を1000として割ったら、2500÷1000=2.5となりますが、 それを、セルB1に1000、B2に1000、B3に500・・・となるように表示させたい。 関数でもVBでも拘りません。 ただ、素人に近いので、VBなら貼ったらOKレベルで記入して頂ければ助かります。 宜しくお願い致します。

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

  • エクセルで#####が表示されてしまう

    エクセルで質問させてください。 時間計算をするエクセル表を作成したのですが、 計算結果のセルに「#####」のエラー表示になってしまうセルがあります。 負であるか大きすぎる日付時間である場合に表示されるというのはわかっているのですが、 同じに入力しているはずなのに、ある行はエラーにならずに、ある行はエラー######になります。 具体的には、0:00のものがエラーになっています。。 Aセルに「7:30」  Bセルに「7:30」  Cセルに「=Bセル-Aセル」として、 よってCセルには「0:00」となりますよね。 なのに、0:00になるセルと######になるセルがあります。 数式の引き算を逆にして「=Aセル-Bセル」にすると、 エラーだった行は0:00になるのですが、 逆にエラー出なかった行が#####になってしまいます。 どうしてでしょうか・・・ 負の数字しゃないんですけど・・・ とても困っています。原因をおしえていただけると大変ありがたいです。 宜しくお願いします。

  • Excelの入力規制について

    初心者の質問ですみませんが、 セルA1:C3までに、1か3か10以外の数字が入力されて場合に エラーメッセージをだして入力できないようにしたいのですが どうすればよいでしょうか

  • エクセルの関数の数式がわかりません。

    A列 B列 1 10 2 20 3 30 a 4 40 エクセルの関数の数式がわかりません。 B1~B4のどこかにaの入力があった場合、aの入力がある行と同じ行のA列に入力されている数字を別のセルに表示させたいです。 例えば、上記のようにB3にaがあるので、A3の30を、別のセルに自動で30と出るようにしたいです。 B列には、ランダムにaを入力しますので、aが別の行にある場合もあります。 この場合の数式を教えてください。 よろしくお願い致します。

  • エクセルで、こんな数字の分け方したいのですが・・・

    お世話になります。 例として) A1のセルに、 -10、0、10 のいずれかが入力されると・・・ 結果として、 B1のセルに、 0 と計算させたいです。 他の数字で例えると、 A1のセルに、 0、10、20 のいずれかが入力されると・・・ 結果として、 B1のセルに、 10 と計算させたいです。 ようするに、A1に入る数字のブレを、補正して B1に自動表示させたいということです。 A1のセルには、0とか、 10とか、 -10、 110、 -120 といったように、 1の位は、全て丸めてあります。 どうでしょうか? 宜しくお願いします。

専門家に質問してみよう