スゴ技会計士からの挑戦状 VOL.22

10月 26, 2017



【繰り返しを操る技】
集計開始日と集計終了日のデータを、1行目の数式をコピペするだけで完成させる問題の解答例です。





これをみただけで「なるほどそういうことか」と思った方は、ぜひ実務での活用場面を考えてみてください。

ひとつずつ解説します。

集計開始日と集計終了日を観察して気付くことは何でしょうか。

・2行ごとに1月増える
・集計開始日は1と16の繰り返し
・集計終了日は15と末日の繰り返し

といったことが分かると思います。

まずは2行ごとに1ずつ増える「追加月」のデータを作成してみましょう。
これは連番を作成して連番を2で割った結果を切り捨てると作成できます。

=ROUNDDOWN(I2/2,0)

完全に算数の問題ですが、思い付きましたでしょうか。




「追加月」を求めることができると「年」「月」が完成します。

「月」にはゼロ以下や12より大きい数字も指定できるので、「年」はすべての行が同じでいいのです。

あとは「日」を求めればできます。
集計開始日も集計終了日も2パターンの繰り返しなので、繰り返しのデータを作成します。
まずは「flg」列に「0」と「1」の繰り返しを作成してみましょう。
これも算数の問題です。

連番を2で割った余りは「0」と「1」の繰り返しになります。

=MOD(I2,2)



「0」と「1」の繰り返しを使って「1」と「16」の繰り返しを作成してみましょう。
IF関数なんて使ってはいけません。
計算で求めることができます。

=15*M2+1



末日は「0」として、「15」と「0」の繰り返しを作成してみましょう。

=15*(1-M2)



年月日を求めることができたので、DATE関数で仕上げます。
集計開始日はシンプルに

=DATE(K2,L2,N2)

となります。



集計終了日は少し工夫しています。
末日が「翌月のゼロ日」となるようにしています。



1行作成したら後は何万行でもコピペで完成します。

観察によって規則性を発見し、少ない数式で大量データを処理することができるとExcelが楽しくなりますよ!


無料メルマガ「スゴ技会計士の挑戦状」登録はこちらから!

無料メルマガ登録

株式会社シンプルソリューションズ

〒102-0074
東京都千代田区九段南1-5-6
りそな九段ビル5F KSフロア
Powered by Blogger.