こんちは!ひさしぶりにブログ更新!
きょうはエクセルのお話。
今から何か月後って何月?っていう計算をエクセルでやってみたい。
1つのセルで1月、そしてもう1つのセルに1月
というふうにして両方を足すと2月ってことになるよね。
今は10月として、いまから3か月後って何月?という感じでエクセルで計算すると1月にならず13月になっちゃう。
ほかにも12月+1月とか8月+7月にして計算すると13月とか15月とかになっちゃう。
それではいけないので何かいい方法がないかなぁと‥
書式設定でもできそうなんだけど‥
結局関数を使うことに‥
とりあえずスマートじゃない書き方なんだけど以下のようにやってみた!
=IF(A2+C2=12,12,MOD(A2+C2,12))
これでうまくいくんだけどね!
ただうまくいかないものもある。
ほかにいい方法がないか、マイカフェのゲームでお世話になってる夏さんにいろんなやり方を教えてもらった!
1つ目は13未満であればそのまま計算。そうでないなら計算した結果から12を引くというもの。ただし、足し算が大きくなると13月以上になる欠点はある。そもそもそんな計算することはないと思うんだけどね。
=IF(A2+C2<13,A2+C2,A2+C2-12)
この書き方は見てすぐにわかるんだよね。
2つ目はわたしのやり方で比較演算子を変えてやってみたもの。
=IF(A2+C2<13,A2+C2,MOD(A2+C2,12))
当然これもうまくいかないものもある。
そして計算結果。
どれもうまくいってます。ではうまくいかない例。
12とか24とかのようにすると0になる‥
普通こんなことはやらないのだけど、でもうまくいかないものもあるんだってことで‥
そしてもう1つ。
12+24とかのように戻り値(要するに計算結果とか計算の答え)が12の倍数(戻り値が12を除く)でやると0とか24とかになっちゃう!
そもそもそんなに大きい数字でやることはないのでまぁいいかなぁって思ってます。
IF関数の[値が真の場合]のところをもっと変更してやれば正常に表記してくれると思うけど、めんどいのでこれでOKとしておきましょうかね!
ひさしぶりのブログだったけど、まだとろにゃんは生きてますよ!
それじゃ~ね!
追記:
なんか気になってしかたないのでちょっと考えてやってみたらだいじょうぶかなってのができた。
=IF(A2+C2<=12,A2+C2,IF(MOD(A2+C2,12)=0,12,MOD(A2+C2,12)))
どうかな?































