• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:下二桁だけ)

C列に入力した数字に応じてE列に表示する値を指定したい

このQ&Aのポイント
  • C列に入力した数の下二桁が96~29の場合はすべてE列に下二桁を33と表示したい。C列に入力した数字が下二桁が30~62の場合はすべてE列に下二桁を66と表示したい。C列に入力した数字が下二桁が63~95の場合はすべてE列に下二桁を00と表示し下三桁は1プラスした数字を表示したい。
  • C列に1から9900までの数字が入る。その中で、下二桁が96~29の場合はE列に33を表示。下二桁が30~62の場合はE列に66を表示。下二桁が63~95の場合はE列に00を表示し、下三桁に+1した値を表示したい。
  • C列に入力した数字の下二桁に応じてE列に表示する値を指定したい。下二桁が96~29の場合はE列に33を表示。下二桁が30~62の場合はE列に66を表示。下二桁が63~95の場合はE列に00を表示し、下三桁に+1した値を表示したい。

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

  • ベストアンサー
  • macchan1
  • ベストアンサー率38% (52/136)
回答No.1

D2セルに以下の式を入力しオートフィルして下さい。 =IF((MOD(C2,100)<=26),ROUNDDOWN(C2,-2)+33,IF(MOD(C2,100)<=62,ROUNDDOWN(C2,-2)+66,IF(MOD(C2,100)<=97,ROUNDDOWN(C2,-2)+100,ROUNDDOWN(C2,-2)+133))) 4桁の場合に4桁目の数値がいらない場合はROUNDDOWN(C2,-2)+33の部分をMOD関数で処理してください。

iizb
質問者

補足

ありがとう御座います 内容を理解したく思いいろいろ考えましたが さっぱり解りませんでした やはり私では無理ですねヾ(´▽`;)ゝニャハハハ もう1つ同じような内容を教えてほしいのですが まだ正確な数字がきまっていませんので 近日また教えていただきたく思います そのときは又よろしくお願いします ありがとう御座いました。

その他の回答 (2)

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.3

#1の関数の説明です。 基本的な関数だけですので、内容を理解してご自分で変更すると良いと思います。 MOD(C2,100)<=26 C2セルを100で割った余り(下二桁)が26以下なら ROUNDDOWN(C2,-2)+33 C2の値を100の位で切り捨てし、それに33を足す この数式をIF関数で順次大きい数値範囲にしてネストさせたものが最終的な数式となります。 ネストできる最大が7つまでですので、条件が8つ以上になると、IF関数を使用する場合は条件分岐を変えるなど数式に工夫が必要となります。 なお、さらに複雑な検索を行いたい場合は、VLOOKUP関数やMATCH関数を利用することになります。 =IF((MOD(C2,100)<=26),ROUNDDOWN(C2,-2)+33,IF(MOD(C2,100)<=62,ROUNDDOWN(C2,-2)+66,IF(MOD(C2,100)<=97,ROUNDDOWN(C2,-2)+100,ROUNDDOWN(C2,-2)+133)))

回答No.2

 0  33  30  66  63  100  96  33 という表を作ります。そうすると、下二桁に関する規則は、 =vlookup(下二桁の数値, 今作った表, 2, TRUE) という関数で表せるようになります。   下二桁は =mod(元の数値, 100)ですから、全体では = trunc(C1, -2)+vlookup(mod(C1, 100), 今作った表, 2, TRUE) ですね。区切りの数値が変わっても、表だけ書き換えて流用可能です。