• ベストアンサー

Excelの関数(複数の条件分岐)

Excelの関数についてどうしても上手くできずに、教えてください。 A,、B、C、Dの4種類のカテゴリがある場合に、以下の形で数字を入力したいのです。 Aならa*12(計算式)、 Bならb*12(計算式)、 Cならc*12(計算式)、 AでもBでCでもない場合は、d*12(計算式) 2時間くらい奮闘してますが、どうじてもできません(泣)教えてくださいませ。

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

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

=if(条件A,a*12,if(条件B,b*12,if(条件C,c*12,d*12))) if関数は([条件],[真の場合],[偽の場合]) となるので [偽の場合]にさらなる条件を入れていきます。 カテゴリここじゃないけど…

Andypandy1999
質問者

お礼

ohkinokomushi さん ありがとうございます。いただいた数式で、無事完了できました。 何度か同じような形でやっていたのですが、何かがおかしく、いただいた数式に一つずついれることで、無事できました。 とても初歩的なミスなのですが、参照する文字列にスペースが入っていたため、上手く参照ができずに、全て「偽」のケースで処理されてしまったことも、一つの要因でした。(ここについては、同僚からTrim関数というものを教えてもらいました。 ありがとうございました!!

その他の回答 (1)

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

条件が多くなっても対応できる方法です。 例えばA1セルにA,B,Cなどの文字を入力したときにB1セルに計算結果の値を表示させるとします。 そのためにA1セルで選択したときの条件によってa,b,cなどの数値がどのように変わるかの関係を示す表を別に用意します。 例えばD1セルにA、D2セルにB,D3セルにCと入力し、その場合のaに相当する数値をE1セルに例えば10と入力します。E2セルには20、E3セルには30のように入力します。また、A,B,Cのいずれにも該当しない場合の数値としてE4セルには40などと入力しておきます。 それらの表を利用してB1セルに入力する式は次のようにします。 =IF(A1="","",IF(COUNTIF(D:D,A1),VLOOKUP(A1,D:E,2,FALSE)*12,E4*12)) COUNTIF関数ではD列にA1セルに入力した文字が有るかどうかを調べます。有る場合にはVLOOKUP関数を使ってD列で該当する行を調べ、その行の右横2番目の列(E列)の値を取り出すことになります。その取り出した値に12を掛けることになります。D列に該当するA1セルのデータが無い場合にはE4セルに入力されているデータに12を掛けることになります。 COUNTIF関数やVLOOKUP関数はエクセルを学ぶ時の基礎的なものですからぜひマスターするようにしましょう。

Andypandy1999
質問者

お礼

KURUMITOさん ありがとうございます! こんな方法があるのですね。今回、私の説明が悪かったのかと思うのですが、ご教示いただいた数式ではなくIF関数のネストだけでできました。 ただ、ご教示いただいたやり方は、すぐにあてはめられるデータの処理がありまして、とても助かりました!! まだまだExcel初心者なので、もっと理解を深めたいと思います。

関連するQ&A