寝落ちから、蚊に食われたかゆみで起きてしまってブログの更新です(笑)
今日と言うか、昨日ですが仕事でえらい目にあった。
いや、盆休み明けからかな。
仕事では、業務改善の一環としてデータ処理などにエクセルのマクロを活用しているのですが・・・
マクロでプログラミングまでできるとなると、それなりに限られた人材が必要で、その一人が筆者な訳です。自分の部署で使うものはほぼ一人で開発、メンテをしている次第です。
そんな一昨日、とあるデータ取り込み用のマクロで誤動作が発生したとの連絡が。
測定器から落ちてくるCSV形式のデータファイルから必要な品種のデータのみをエクセルシートに取り込んで、解析しようと言うマクロが組んであります。
そのデータの取り込みで重複したデータが入ってしまうと言う現象が発生。
アルゴリズム的にはデータが記録された日付と時間をチェックして同じ日付、時間のものはすでに取り込み済みと判断して、データの重複を避けるようにしてありました。
ところが、ある2つのデータのみが重複してしまうと言う・・・
アルゴリズムエラーかとプログラミングを見直したり、パラメーターの見直しをしたりしてテストを繰り返すも症状は直らず。。。
で、たどり着いた結論がエクセルソフトのバグだったと言う事です。
Officeのバージョンアップがあったので、その影響かも。
特定のデータのみ、重複回避に使っている日付と時間が、きちんと日付、時間として認識されないと言うバグ。
なので、すでに取り込まれてデータの日付、時間と比較しても同じではないと判定されて、新しいデータとして取り込んでしまい、結果としてデータが重複する事に。
この結論にたどり着くまでに2日近くかかかったな(苦笑
原因は分かったもののバグとなると、どうやってマクロで回避するかがまた厄介なんですな。
この回避策を見つけるまでに半日・・・
いや、本当に疲れた1日だった・・・
早く後継者が欲しいなぁ。