パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

葛飾区、Excel ファイルの計算式ミスで補助金過大支給、数億円規模か」記事へのコメント

  • by Anonymous Coward

    https://cpplover.blogspot.com/2014/05/blog-post_29.html [blogspot.com]

    Excelを厳密性がいる計算に使うと痛い目を見るって本当なんだ

    • by Anonymous Coward

      複雑な計算式になってるなら、保守性も考えてエクセルであってもドキュメント作るべきだな

      #昔いた会社で俺が作ったエクセルファイルのVB部分にはコメント残しといたけど、説明書までは作ってなかったな

      • >エクセルであってもドキュメント作るべきだな

         Excelだからこそ、ドキュメントが必要だと思うよ。
         大抵は無理してワークシート関数でやろうとするから、セルの中にワークシート関数が幾重にもネストしていたり、華麗に表引きを複数していたりで、解読もメンテナンスも極めて難しいのが残されていることが多い・・。
         VBAでやれば、コメントを残せるし、スッキリ解決できることも多いけど、VBAを使う人はかなり珍しい。
         あとデータ加工はRDBを使う方が素直だし、簡単だと思う。

        • by Anonymous Coward

          > VBAでやれば、
          (簡単な)ワークシート関数で済むのを複雑なVBAにしてくださる方しか見ませんが、、。
          まず、コメントなんて無いし、メンテナンス最悪。

          • Re:だいたいあってる (スコア:3, すばらしい洞察)

            by Technobose (6861) on 2022年06月12日 22時06分 (#4267735) 日記

            比較の問題だけど、まだVBAの方かましだと思ってます。
            ネストしたワークシート関数は訳わからない。if関数のネストを繰り返すのとか渡されたけど、セルの内容をテキストエディタにコピーして、整形して解析してました。あれは殺意を覚える。マジで。
            そもそもExcelで複雑なプログラムを組むのが間違いだと思う。
            ExcelのVBAで処理を行うとき、セルをA1とかcells(1,1)みたいな感じで指定すると思うけど、データ加工の時、処理を論理的に把握しにくい(範囲に名前をつければいいのだろうけど、そういうスキルのある人はいない)。
            Excelで組むときは、できるだけワークシートのデザインを工夫してデータ加工の処理を追跡しやすして、ワークシート関数は初歩的なものだけにしないと、自分でもわからなくなる。
            ある程度のデータ管理・加工をするならAccessでやる。

            //今、馬鹿の一つ覚えでExcelでなんでもやろうとしたヤツらの仕事を引き継いで酷い目にあってる・・・。

            親コメント
            • by Anonymous Coward

              計算の途中結果を都度セルに表示するようにしておけば
              複数の数値を一覧できる
              なんなら数値が範囲から外れたときに色をつけることまでできるので
              セル関数の方がバグに気づきやすい

              Excelの問題は印刷を意識した見た目のことしか考えず使う人が多いということで
              ツールとしてExcelセル関数/VBAのどっちがバグを作りこみやすいかという問題ではないと思う

            • by Anonymous Coward

              Public Function をBASモジュールに定義して、それをセルから呼び出す方式で使うのが普及すると良いのに、ってのはいつも思いますね。
              ユーザー定義関数、ってことになるのかな。

              VBAにありがちなcells(1,1)みたいな直接指定されてるクソコードも困るけど、Excelの内蔵関数だけで多重ネストしてる神セルも困る。
              ユーザー定義関数作って複雑な演算はそこでやる、シートへのアクセスは禁止、って辺りが一番使いやすくなるんじゃないかって思う。
              データ(シート)とロジック(VBA関数)の分離だね。

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...