アカウント名:
パスワード:
https://cpplover.blogspot.com/2014/05/blog-post_29.html [blogspot.com]
Excelを厳密性がいる計算に使うと痛い目を見るって本当なんだ
複雑な計算式になってるなら、保守性も考えてエクセルであってもドキュメント作るべきだな
#昔いた会社で俺が作ったエクセルファイルのVB部分にはコメント残しといたけど、説明書までは作ってなかったな
>エクセルであってもドキュメント作るべきだな
Excelだからこそ、ドキュメントが必要だと思うよ。 大抵は無理してワークシート関数でやろうとするから、セルの中にワークシート関数が幾重にもネストしていたり、華麗に表引きを複数していたりで、解読もメンテナンスも極めて難しいのが残されていることが多い・・。 VBAでやれば、コメントを残せるし、スッキリ解決できることも多いけど、VBAを使う人はかなり珍しい。 あとデータ加工はRDBを使う方が素直だし、簡単だと思う。
> VBAでやれば、(簡単な)ワークシート関数で済むのを複雑なVBAにしてくださる方しか見ませんが、、。まず、コメントなんて無いし、メンテナンス最悪。
比較の問題だけど、まだVBAの方かましだと思ってます。ネストしたワークシート関数は訳わからない。if関数のネストを繰り返すのとか渡されたけど、セルの内容をテキストエディタにコピーして、整形して解析してました。あれは殺意を覚える。マジで。そもそもExcelで複雑なプログラムを組むのが間違いだと思う。ExcelのVBAで処理を行うとき、セルをA1とかcells(1,1)みたいな感じで指定すると思うけど、データ加工の時、処理を論理的に把握しにくい(範囲に名前をつければいいのだろうけど、そういうスキルのある人はいない)。Excelで組むときは、できるだけワークシートのデザインを工夫してデータ加工の処理を追跡しやすして、ワークシート関数は初歩的なものだけにしないと、自分でもわからなくなる。ある程度のデータ管理・加工をするならAccessでやる。
//今、馬鹿の一つ覚えでExcelでなんでもやろうとしたヤツらの仕事を引き継いで酷い目にあってる・・・。
計算の途中結果を都度セルに表示するようにしておけば複数の数値を一覧できるなんなら数値が範囲から外れたときに色をつけることまでできるのでセル関数の方がバグに気づきやすい
Excelの問題は印刷を意識した見た目のことしか考えず使う人が多いということでツールとしてExcelセル関数/VBAのどっちがバグを作りこみやすいかという問題ではないと思う
Public Function をBASモジュールに定義して、それをセルから呼び出す方式で使うのが普及すると良いのに、ってのはいつも思いますね。ユーザー定義関数、ってことになるのかな。
VBAにありがちなcells(1,1)みたいな直接指定されてるクソコードも困るけど、Excelの内蔵関数だけで多重ネストしてる神セルも困る。ユーザー定義関数作って複雑な演算はそこでやる、シートへのアクセスは禁止、って辺りが一番使いやすくなるんじゃないかって思う。データ(シート)とロジック(VBA関数)の分離だね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
だいたいあってる (スコア:5, 参考になる)
https://cpplover.blogspot.com/2014/05/blog-post_29.html [blogspot.com]
Excelを厳密性がいる計算に使うと痛い目を見るって本当なんだ
Re: (スコア:0)
複雑な計算式になってるなら、保守性も考えてエクセルであってもドキュメント作るべきだな
#昔いた会社で俺が作ったエクセルファイルのVB部分にはコメント残しといたけど、説明書までは作ってなかったな
Re: (スコア:1)
>エクセルであってもドキュメント作るべきだな
Excelだからこそ、ドキュメントが必要だと思うよ。
大抵は無理してワークシート関数でやろうとするから、セルの中にワークシート関数が幾重にもネストしていたり、華麗に表引きを複数していたりで、解読もメンテナンスも極めて難しいのが残されていることが多い・・。
VBAでやれば、コメントを残せるし、スッキリ解決できることも多いけど、VBAを使う人はかなり珍しい。
あとデータ加工はRDBを使う方が素直だし、簡単だと思う。
Re: (スコア:0)
> VBAでやれば、
(簡単な)ワークシート関数で済むのを複雑なVBAにしてくださる方しか見ませんが、、。
まず、コメントなんて無いし、メンテナンス最悪。
Re:だいたいあってる (スコア:3, すばらしい洞察)
比較の問題だけど、まだVBAの方かましだと思ってます。
ネストしたワークシート関数は訳わからない。if関数のネストを繰り返すのとか渡されたけど、セルの内容をテキストエディタにコピーして、整形して解析してました。あれは殺意を覚える。マジで。
そもそもExcelで複雑なプログラムを組むのが間違いだと思う。
ExcelのVBAで処理を行うとき、セルをA1とかcells(1,1)みたいな感じで指定すると思うけど、データ加工の時、処理を論理的に把握しにくい(範囲に名前をつければいいのだろうけど、そういうスキルのある人はいない)。
Excelで組むときは、できるだけワークシートのデザインを工夫してデータ加工の処理を追跡しやすして、ワークシート関数は初歩的なものだけにしないと、自分でもわからなくなる。
ある程度のデータ管理・加工をするならAccessでやる。
//今、馬鹿の一つ覚えでExcelでなんでもやろうとしたヤツらの仕事を引き継いで酷い目にあってる・・・。
Re: (スコア:0)
計算の途中結果を都度セルに表示するようにしておけば
複数の数値を一覧できる
なんなら数値が範囲から外れたときに色をつけることまでできるので
セル関数の方がバグに気づきやすい
Excelの問題は印刷を意識した見た目のことしか考えず使う人が多いということで
ツールとしてExcelセル関数/VBAのどっちがバグを作りこみやすいかという問題ではないと思う
Re: (スコア:0)
Public Function をBASモジュールに定義して、それをセルから呼び出す方式で使うのが普及すると良いのに、ってのはいつも思いますね。
ユーザー定義関数、ってことになるのかな。
VBAにありがちなcells(1,1)みたいな直接指定されてるクソコードも困るけど、Excelの内蔵関数だけで多重ネストしてる神セルも困る。
ユーザー定義関数作って複雑な演算はそこでやる、シートへのアクセスは禁止、って辺りが一番使いやすくなるんじゃないかって思う。
データ(シート)とロジック(VBA関数)の分離だね。