GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

株投資関係のExcelシステム2

2010-12-15 10:36:30 | ITの仕事
にほんブログ村 IT技術ブログへ

前回の話の続きですが、

まずの要件定義(実現の可否を見極める為のコンサルティング)
の段階では、高速のリアルタイム画像処理関係はなんとか
うまく行きそうでGOサインを出し、

いざ、開発へ取り掛かったしょっぱな、設計の段階から
ちょっとものすごいことになっています。


まず、ご依頼主の投資顧問コンサルタントの先生が作られている
Excelのシートのセルには、関数の数式がビッシリ入った所が
いくつもあって、お互いを呼び出しあっていますのでまともに
RSSと連動させるとRSSでデータが更新される度に、
再帰呼び出しが起こって、しばらく経つとオーバーフローを
起こします。

これを回避するためには、関数部をマクロ化してVBAで
組み直すしかありませんが、

しかも、先生の理論から導いたというその数式(セル関数)は、
長年やってきた私も初めて知ったのですが、セルの制限
(たぶん、1024文字?)をオーバーするほどの長さとなっていて、


備考:「Excel2003 の仕様および制限」では、
  セルの内容の長さ (文字列) 32,767 文字。
  セルに表示できるのは 1,024 文字まで。
  数式バーでは 32,767 文字すべての表示が可能。
  と明記されています。


仕方なく、まだまだ続きのある(IF,NOT,AND,OR,ABS,などが
オンパレードの)長い長ーい数式を分割して複数のダミーセル
を設けて分散させていらっしゃいます。


それで、私がその数式をマクロで処理するために、
紙に書いて展開してみたところ、

な、なんと、A4に3枚に渡り数式びっしりのボリューム
となって、階層を辿ると深い所で7階層、、、1セルだけでも


=IF(
    AND(
        ,
        ,

    ),
    ,
    IF(
        OR(
            ,
            ,
            AND(
                OR(
                    AND(
                        ,

                    ),
                    AND(
                        OR(
                            ,

                        ),
                        ,

                    )
                ),
                ,
                ,

            ),
            AND(
                ,

            ),
            AND(
                ,
                ,
                OR(
                ,

                )
            ),
            AND(
                OR(
                    ,

                ),
                ,

            ),
            AND(
                ,
                ,

            ),
            AND(
                ,
                ,
                ,
                OR(
                    ,

                ),
                OR(
                    ,
                    AND(
                        ,

                    )
                ),
                ,
                ,
                OR(
                    AND(
                        ,

                    ),
                    AND(
                        ,
                        ,
                        ,
                        ,
                        ,
                        ,
                        ,

                    ),
                    AND(
                        ,

                    )
                ),

            )
        ),
        ,
        IF(
            OR(
                AND(
                    ,

                ),
                AND(
                    ,

                )
            ),
            ,
            0
        )
    )


とまぁこんな感じで、、、

(数式等は公開できませんので省略しています。)

マクロに書き直した数式を字下げすると、
実に、8段下げにも及ぶとてつもない感じです。。。
\(◎o◎)/!



VBAに展開するだけでも有にまる1日掛かりの作業
となりました。



ご自分の長年の理論に基づいてこの数式を組み、日々、
精度向上のためのこのセル組み込みの横長の数式を
ひたすらメンテされている先生の頭の中は、凄すぎです!




 ▼賢くマクロ作りをマスターするのコツが満載▼ 

 プロが直伝する「エクセルマクロ成功の鉄則」教材セット



コメント    この記事についてブログを書く
« 株投資関係のExcelシステム | トップ | 全国マクロ度ランキング〓あ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

ITの仕事」カテゴリの最新記事