TOP > 行事予定の差分一覧 > 制作秘話

***********************************************************************************************
                     行事予定の差分一覧 制作秘話
                                           Copyright(C) 2021 by しげるがもげる
***********************************************************************************************

◆はじめに
 このドキュメントには、制作に関わっての作者の思いや苦労が書いてあります。
 技術的な細かいことに興味のない方は、読み飛ばしてください。
 エクセルでマクロを組んでみようかなと思われる方は、読むと参考になる部分があるかもしれません。


◆制作秘話
 年度末になると,市から来年度の行事予定が送られてきます。
 1次案,2次案と更新されるたびに送られてくるのですが,どこがどう変わったのか見つけるのがものすごく大変です。
 そこで,削除された項目と追加された項目を,一覧で表示するものを作ろうと思ったのがきっかけです。


◆工夫や苦労など
 <差分の書き出し>
  まず,差分を見つける処理を,どうやったら実現できるのか,考えてみました。
  項目は,全角のスペースで区切られているので,それを元に配列変数に格納することまでは,すぐに思いつきました。
  問題は,削除された項目をどうやって見つけ,追加された項目をどうやって見つけるか,です。
  難しい問題だと思っていましたが,方法は意外にあっさりと見つかりました。
  旧データが「1・2・3」,新データが「2・3・4」となっていた場合,削除されたものは「1」,追加されたものは「4」になります。
  それを実現するためには,旧データと新データを比較して,同じものが存在したら双方でその項目を消していきます。
  そして残った項目は,
   ○旧データの残り・・・削除された項目
   ○新データの残り・・・追加された項目
  になる,ということがわかりました。

 <データの整形>
  1次案,2次案の元データですが,よくよく調べてみると,区切り方がいろいろと混じっていました。
  @全角のスペース1個 → これが本来の区切り方
  A全角のスペースが2個以上
  B改行がしてある。
  C半角のスペースが混じっている。
  そこで,全角のスペース1個になるよう,元データを整形することにしました。

  Aについては,全角スペース2個を1個に置き換える処理を,何回も繰り返して1個だけにします。
  Bについては,改行を全角スペース1個に置き換えます。
  C半角のスペースは,全角スペース1個に置き換えます。
  これで,ちゃんと項目として,比較できるようになりました。


◆最後に
 ここまで、熱心に読んでくださってありがとうございました。
 プログラムを組んだことのない方には、わかりにくい内容だと思いますが、これを機会にエクセルの
 マクロに興味を持っていただければ、と思っています。
 エクセルは、本当に楽しいツールです。自分の思いや考えが表現できます。
 そんなエクセルに、日々、感謝です。