- ベストアンサー
エクセル、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)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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)
こんな方法もありますね。 =IF(ISERROR(MATCH(INT(B1/100),{216,11,35},0)),"",B1+VLOOKUP(INT(B1/100),{216,300;11,800;35,-500},2,0)) 数値の範囲が100だから、上記の式でも可能です。
- shinkun0114
- ベストアンサー率44% (1553/3474)
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