• ベストアンサー

エクセル、B列に入力した数字と対になった数字をC列に表示させたい

B列に21600~21699までの数字を入力したらC列に300プラスされた数字21900~21999を表示させる。同じようにB列に1100~1199までの数字を入力したらC列に800プラスされた数字1800~1899を表示させる。同じくB列に3500~3599までの数字を入力したら、今度は500マイナスの数字3000~3099が表示されるようにしたいのですが、過去の質問の中から探し出せません。下に例を書きました宜しくお願いします。 (例)     B列      C列 1   21610     21910(B列+300) 2   21685     21985(B列+300) 3    1106      1806(B列+800) 4    1131      1813(B列+800)  

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

C1に =IF(AND(B1>=21600,B1<=21699),B1+300,IF(AND(B1>=1100,B1<=1199),B1+800,IF(AND(B1>=3500,B1<=3599),B1-500,"範囲外"))) これを、C2から下にコピーします。 (範囲外の数値のときは「範囲外」と表示させています)

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんな方法もありますね。 =IF(ISERROR(MATCH(INT(B1/100),{216,11,35},0)),"",B1+VLOOKUP(INT(B1/100),{216,300;11,800;35,-500},2,0)) 数値の範囲が100だから、上記の式でも可能です。

回答No.2

 VLOOKUPを使う方法もあります。  ちょっと手間はかかりますが、条件が複雑になっても 簡単に対応できます。 ・表の作成   まずは、別のシートに数字の対応表を作っておきましょう。   A列  B列 1   0 2 1100 800 3 1200 4 3500 -500 5 3600 6 21600 300 7 21700 A1:B7にlistという名前を付けます。 ・式の作成  元のシートに戻ってC列の式を以下のように入力します。  =VLOOKUP(B2,list,2,TRUE)+B2

関連するQ&A