アプリ版:「スタンプのみでお礼する」機能のリリースについて

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)
 

A 回答 (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から下にコピーします。
(範囲外の数値のときは「範囲外」と表示させています)
    • good
    • 0

こんな方法もありますね。



=IF(ISERROR(MATCH(INT(B1/100),{216,11,35},0)),"",B1+VLOOKUP(INT(B1/100),{216,300;11,800;35,-500},2,0))

数値の範囲が100だから、上記の式でも可能です。
    • good
    • 0

 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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!