• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで一つのセルに数式を二つ以上入力する方法はありますか?)

エクセルで一つのセルに数式を二つ以上入力する方法

このQ&Aのポイント
  • エクセルで一つのセルに複数の数式を入力する方法について教えてください。昨晩からプルダウンメニューで選ばれた文字列に基づいて異なる計算を行い、その結果を別のセルに表示したいと考えていますが、うまくいきません。
  • 具体的には、Sheet1の任意のセルにABC、DEF、GHI、JKLという文字列を作成し、プルダウンメニューで選択できるようにしています。そして、選択された文字列に基づいて、切り捨ての簡単な計算を行い、その結果をSheet2の任意のセルに表示したいと思っています。
  • 以下の数式をSheet2の任意のセルに入力しましたが、うまくいきません。 =IF(F3="ABC", ROUNDDOWN(H3,2)*0.976),"DEF",ROUNDDOWN(H3,2)*0.976),"GHI", ROUNDDOWN(H3,2)*0.975), "JKL", ROUNDDOWN(H3,2)*0.978) 試行錯誤しているが、理解できません。どなたか助けてください。

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.6

すいません、ROUNDDOWNを忘れていました。 =SUMPRODUCT((F3={"ABC","DEF","GHI","JKL"})*ROUNDDOWN(H3,2)*{0.976,0.976,0.975,0.978})

noname#175027
質問者

お礼

ありがとうございました。 やりたい事が完璧に出来ました。 申し訳ないのですが、もし私の拙い質問の仕方で理解して頂けるなら、お教え頂きたいのですが、 そもそもエクセルで今この作成中のファイルでリストを作って行く事は可能なのでしょうか? 私は今、Sheet1を入力用のフォームとして、入金がある度に記入して行ける様に作りました。 そしてその入力した数値等をSheet2の一覧表形式のリストに一覧として表示される様にリストを作りたいと思い取組んでいます。 そして先程(凄く恥ずかしいのですが・・・)、私のやり方では、リストは自動的に出来るのでは無くて、毎回Sheet2の同じ行に上書されるだけと言う事に気が付きました・・・。 エクセルを使い、データ入力後保存をすると、次回新しいデータを入力すると自動的に前回のデータの下の行に表示する様に出来るのでしょうか? へんてこな日本語ですみません。

その他の回答 (5)

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.5

以下の式でできます。   =SUMPRODUCT((F3={"ABC","DEF","GHI","JKL"})*H3*{0.976,0.976,0.975,0.978})

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

シート1について触れながらシート2での式はシート1と全く関係のない式になっていますね。 勝手に想像して、本当は下の式のようにしたかったのではと思うのですがいかがでしょう。 =IF(Sheet1!F3="ABC", ROUNDDOWN(Sheet1!H3*0.976,2),IF(Sheet1!F3="DEF",ROUNDDOWN(Sheet1!H3*0.976,2),IF(Sheet1!F3="GHI", ROUNDDOWN(Sheet1!H3*0.975,2), IF(Sheet1!F3="JKL", ROUNDDOWN(Sheet1!H3*0.978,2),""))))

noname#175027
質問者

お礼

ありがとうございます。 そうです、記載して下さっている関数でした。 しかし 今現在 これに関係する沢山の問題が出ているので、もし良かったら私の他の質問欄も見ていただけると嬉しいです・・・。 本当私には難しいです。。。

回答No.3

F3が何でもrounddown(H3,2)は共通で、係数だけがABCまたはDEFの時 に0.976、GHIなら0.975、JKLだと0.978と変動するんですよね。しか もその文字列はどこかでリストになってる。だったらそのリストを   0 ABC 0.976 DEF 0.976 GHI 0.975 JKL 0.978 と加工して(先頭はブランク)、 =rounddown(H3,2)*vlookup(F3,リスト,2,0) とすればいいのでは。F3がブランクの時はゼロが返ります。

noname#175027
質問者

お礼

回答ありがとうございます。 ABC DEF も その作成したリストに掲載されてプリントしないといけないので、数値が出ると良くないんです・・・。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.2

=IF(ISBLANK(F3),"",IF(F3="ABC",ROUNDDOWN(H3,2)*0.976,IF(F3="DEF",ROUNDDOWN(H3,2)*0.976,IF(F3="GHI",ROUNDDOWN(H3,2)*0.975,IF(F3="JKL",ROUNDDOWN(H3,2)*0.978,""))))とするとF3がブランク(空白)の時スペースを表示するとなります

noname#175027
質問者

お礼

回答ありがとうございます。 やってみましたが、何かが違うみたいで、やっぱり FALSE と表示されてしまいます・・・。 もう少し教えて頂いた上記関数と私の入力した関数と見比べてみます。。。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

数式が誤っています。 =IF(F3="ABC",ROUNDDOWN(H3,2)*0.976,IF(F3="DEF",ROUNDDOWN(H3,2)*0.976,IF(F3="GHI",ROUNDDOWN(H3,2)*0.975,IF(F3="JKL",ROUNDDOWN(H3,2)*0.978,""))))

noname#175027
質問者

補足

何度もごめんなさい。 数式は出来たんですが、今度は 何も数字が入っていない時は、セルの中に「FALSE」と出てしまいます。 この 「FALSE」 と出てくる文字を、 数字が入力される前でも 表示されない様にする方法はありますか?

関連するQ&A

専門家に質問してみよう