• 締切済み

関数の使い方

エクセルの関数の使い方について教えてください。 たとえば、A1にB1,C1の入力数値を自動的に反映させたく思っています。  条件としましては、「B1=1又は2かつC1=ブランクの時はA1に6を、B1=ブランクかつC1=1の時にはA1に3を、B1=ブランクかつC1=2の時にはA1に2を、B1=ブランクかつC1=3の時にはA1に0を、B1=ブランクかつC1=ブランクの時にはA1にブランク」を反映させていのです。 自分には複雑すぎてどんな数式を入れたらいいのかわかりません。 どうぞ、よろしくお願いします。

みんなの回答

noname#79209
noname#79209
回答No.4

   B1    C1     A1  1or2   ブランク    6    ブランク   1       3  ブランク   2       2  ブランク   3       0  ブランク   ブランク    ブランク ここで、「ブランク」の意味があいまいです、補足して下さい。 それと、これ以外の時はどうするのかを補足して下さい。

  • Protozoan
  • ベストアンサー率100% (1/1)
回答No.3

式が長くなりますが、A1のセルに次のように書き込むこともできます。=IF(AND(B1=1,C1=""),6,IF(AND(B1=2,C1=""),6,IF(AND(B1="",C1=1),3,IF(AND(B1="",C1=2),2,IF(AND(B1="",C1=3),0,IF(AND(B1="",C1=""),"",99)))))) こうするとD列は不要です。

  • Protozoan
  • ベストアンサー率100% (1/1)
回答No.2

D1に =B1*10+C1 の数式を入れます。これで条件が数値化されます。例えば、B1=1,C1=""の場合はD1に10が計算されます。他の条件による値は次のようになります。(B1の値,C1の値,D1に計算される値) (2,"",20)("",1,1)("",2,2)("",3,3)("","",0) 後はA1のセルに =IF(D1=20,6,IF(D1=10,6,IF(D1=3,0,IF(D1=2,2,IF(D1=1,3,IF(D1=0,"",99))))))の式を組み込みます。(条件以外の場合はA1に99が入ります。)D列は目障りでしょうから、D列を選択し、右クリック→表示しない で隠しておけばOKです。エクセルで確認済みです。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

=IF((B1=1 or B1=2),IF(C1="","6","99"),IF(B1="",IF(C1="1","3",IF(C1="2",2,IF(C1="3","0",IF(C1="","","99")))),"99")) かな?実際にエクセルでテストしてないので正しく動くかは不明です。 条件以外のときはA1に99が入ります。 もちろん他にも方法はあると思います。