
No.5ベストアンサー
- 回答日時:
こんにちは。
HPは観たことがありませんね。そのような解説の書籍もみたことがありません。パテントの問題よりも、それを公開するような無駄はしないからだと思います。
ただ、VBAで同じように作るには、思った以上に技術が必要なことが分かります。かなり上級レベルだと思います。
たかが、SUM 関数でも、入門レベルでは思いもつかないようなワザがあったりします。それは、自分でやってみるしかありません。入門レベルでは、SUM関数の一部を表現できるようになると良いといいますが、思った以上に表現するのは難しいと思います。細かい部分で、例えば、エラーの表現の仕方とか、一般の市販のVBAの解説書には出てきません。また、通常のユーザー定義関数の作り方のルールとは、違う造り方になっています。
SUM関数を作った話を、昔読んだことがあります。MS-DOSの前身のBasic と違って、SUM関数は、文字列を含んでも、エラーになりません。「0」の扱いを受けます。それは、SUM関数を使って、その途中で、書き込みをしたい時があるからだ、ということだそうです。ただ、基本関数については、あまり、MSのオリジナリティは低いように思います。
やってみると、うっすらと分かってくる部分があります。ある種の時代性がうかがえます。SMALL 関数,LARGE関数とRANK関数では、同じ種類なのに、RANK関数は引数に配列を受け取ることが出来ません。これは、SMALL/LARGEは、時代的にかなり後に出来たものだと分かります。いくつかの関数は、MS の仕様とは違う、ということも気が付きます。また、バグが残ったままになっているものもあります。(たぶん)外部で製作したものに関しては、ほとんど、フィードバックされていない、ということも分かるはずです。
MSは、何度か、関数を増やしていった大きな波のようなものがあります。
こうやって一つ一つ検証していくと、製作者の違いなどの輪郭が浮かび上がるはずです。基本関数以外は、ずいぶん雑だなって思うものもあります。
VBA(VB)に自信がおありなら試してみるのもよいのですが、そうでなければ、真似事ぐらいにしておいたほうが無難です。レベルが上がるまでには、気の長い勉強が必要だからです。
そういう私は、興味ある部分をいくつかは再現しています。例えば、RANK関数などは、きちんと作れるようになるにも、年月が掛かりました。また、最初に書いたSUM関数も、まだあやふやなレベルです。それは、引数が配列の場合の戻り値の部分が、SUMPRODUCTになってしまってはダメだからですね。しかし、これらは、あくまでも自分の勉強です。
失礼かもしれませんが、今、どのぐらいのレベルになられたのでしょうか?私が、最初にVBAを習った時に、SUM関数と同じ働きのものを作れっていう問題で、無い知恵で悪戦苦闘した覚えがあります。
No.6
- 回答日時:
関数の勉強をされているとの事ですがプログラミングの知識はどれくらいお持ちでしょうか?VBAは読解出来ますが?CやC++は判りますか?アセンブラはどうでしょう?中身をリバースエンジニアリングすることは確かに許されていませんがそれを出来る方はそうそういるものではありません。
アセンブラ等の広範な知識と膨大な作業が必要な筈です(多分)。貴方が言われているのは幼稚園児が「微積分ってどうするの?」って聞いているのと同じ位高いハードルの話しです。むしろ貴方が理解出来るプログラミング言語上でこそアルゴリズムは理解できます。言語自体から覚えていくレベルではなかなかアルゴリズムまで到達しませんから。もしVBAがわかるなら皆さんおっしゃる様にユーザー関数などで考えるのが近道でしょう。ネット上に公開されているのも多数あると思いますから。
No.4
- 回答日時:
>関数が実際のどのようにプログラムされているのかを見たいのです。
よろしくおねがいします。リバースエンジニアリングは禁止されているのでプログラムを見ることはできませんが、同じ働きをするようにマクロを組んではいかがでしょうか。
マクロであればプログラミングのソフトは不要です。
関数の動きをマクロで再現することで関数がどのように動いているかを理解できるようになりますよ。
No.2
- 回答日時:
ユーザー定義関数でネット検索したら
関数の作り方がわかります。
既存の関数は、リバースエンジニアリング
などをしない限り見ることは出来ないと思
いますし、公開もされてないと思います。
また、リバースエンジニアリング自体、
マイクロソフトは許可していないと思いま
す。
プログラムを知りたければ、地際便で勉強
するしかないと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
人気Q&Aランキング
-
4
「やさしいC」の次に読む本を探...
-
5
独学でプログラミングを習得す...
-
6
オリジナルの占いサイトを作る...
-
7
プログラミングは独学で習得で...
-
8
Win32APIは覚えて損する?
-
9
プログラミングに 興味をもっ...
-
10
何かプログラムを作りたいので...
-
11
工業高校生ですが、将来ゲーム...
-
12
組み込み系+制御系プログラム...
-
13
C言語 プログラミングについて
-
14
Webデザイナーになる為、独学で...
-
15
独学でプログラミングの知識を...
-
16
ゲーム改造の解説本(BOTや...
-
17
OpenGLで質問があります。
-
18
プログラミングの習得期間はど...
-
19
中学生 プログラマーになりた...
-
20
プログラマーになったきっかけ...
おすすめ情報
公式facebook
公式twitter