○第152回目、なじかは しぃらねーど…
どうしてかはわからないが…という意味でござる。ローレライの歌の文句ではなかったかな。
今回は問題です。
数字が展開されています。ひとつが4列構成で、40単位あります。(最低でも160列)
明細は50行あり、その合計がとられています。合計行の下に、一部分、つまり、MM行からNN行までの小計もとられています。
ここで問題です。最初は、MM行からNN行までの小計でいいでのすが、次の単位では、MM+1行からNN行までの合計と次々に範囲が少なくなって来ます。場合によっては、途中でこのような小計を取ることが無意味になってしまうでしょう。その部分の自動化まではまあよいとして、基本的に、このような小計をどのようにして求めますか、という問題です。
小計を取る部分は4列中の2列のみです。
また、シートにはその表のみがあるのではなく、上下左右に違う表が存在します。
力技ならできることは確かですが、規則性があるだけにしゃくな気がします。
戦略としては(大げさですが…)、シートをコピーして、回りを気にせずに求めたい計算式を作成し、計算式を元のシートにはコピーする、ということにします。
小計をとる2列は、2列目と4列目とします。
小計を求める行の最初は、10行目から50行目とします。
まず、4列ごとの最初の単位で、2列目と4列目に、10-50行の小計を取ります。50行目は絶対参照としておきましょう。
小計をとった1列目から4列目を(1,3列目は空白)、通常のコピー操作で残りの39単位にコピーします。
この全体を、下に40行ぐらいコピーしましょう。
すると、コピーしたものを見てみると、最初の行は20-50の小計ですが、次の行は、21-50の小計となっています。順に22-50、23-50…となっています。
ここでセルを階段状に入れていきましょう。これは階段状のセルの挿入でできます。
処理対象列を4列ごとにするので、2回の操作になるでしょう。挿入数はだんだん減っていくパターンとします。
40単位目が「1セル、下に挿入」なので、一単位目は「40セル、下に挿入」になります。
すると、1単位目の20―50の小計の横には、次の単位では、21―50の小計が並ぶことになります。その次の単位も同様です。このようにして求める計算式が横に並びました。
明細と小計の間にある不要になった部分をセル削除します。コピー処理をしますので、コピー先に目的となる計算式が移るように、セルを挿入、削除していきます。
このように小計の位置関係に注意しながら、元のシートの小計行にコピーします。
これで求める計算式ができました。
お分かりになったでしょうか。
最後のコピーは、移植でもいいと思います。その場合は、セルを削除する操作が不要となります。
※元のシートの該当する表の下に何もなければ、同一シートで処理ができますので、シートのコピーは不要となります。

0 件のコメント:
コメントを投稿