**参照演算プラグイン [#ica3a54b]
|RIGHT:70|LEFT:410|c
|~バージョン|1.4.7以降|
|~投稿者|[[{{{XXX}}}]]|
|~状態|提案|
|~投稿日|&new{2007-08-29 (水) 02:38:39};|
***メッセージ [#qa85f181]
エクセルみたいにほかのセルを参照して演算させる機能があったらいいなと思います。
以下のようなインライン型プラグインを設計することで可能と思われます。~
参照演算プラグイン(refcalc)~
参照名タグ設定プラグイン1(refcalctag)~
参照名タグ設定プラグイン2(refcalctagtextbox)~
refcalctagについて~
refcalctagはエクセルのセル番号の役割を果たすタグで、機能的には何もせず、演算式をそのまま表示します。
形式は refcalctag(演算式,タグ名) です。~

refcalctagtextboxについて~
refcalctagtextboxもエクセルのセル番号の役割を果たすタグで、見かけ上、ユーザに値の入力を許可します。つまり、ユーザ入力に(後で参照するための)セル番号を与えるイメージです。
機能的にはユーザ入力のためのテキストボックスと更新用ボタンを表示します。テキストボックスには入力内容をそのまま表示します。更新用ボタンが押された場合、タグ名を使ったrefcalcに演算結果の更新を促します。
形式は refcalctagtextbox(タグ名) です。~


refcalcについて~
refcalcは参照演算機能本体です。
形式は refcalc(演算式,タグ名の検索ページ名) です。~
引数:演算式はrefcalctagtextbox、refcalctagで与えられたタグ名を使う演算式です。~
引数:タグ名の検索ページ名はrefcalcが設置されたページとは異なるページにある。~
refcalctagtextbox、refcalctagを参照する必要がある場合に与えます。省略された場合は演算内容で使われる全てのタグ名は同一ページ内に存在する必要があります。

自己参照していないなら、ある演算結果を元に別の演算もできる事が望ましいです。

考えられる使用例)
先月のお小遣い残高&refcalctag(100,先月のお小遣い残高);円と今月のお小遣い残高&refcalctag(1000,今月のお小遣い残高);円の合計は&refcalc($先月のお小遣い残高+$今月のお小遣い残高);です。来年にもらえる予定のお年玉はおおよそ&refcalctagtextbox(予想お年玉);なので、無駄遣いしなければ&refcalctag(&refcalc($先月のお小遣い残高+$今月のお小遣い残高);,お小遣い小計);円と合わせて、来年の一月には&refcalc($お小遣い小計+$予想お年玉);円が貯まってるはずです。~
上記のように指定したタグ名を使うときは$を頭につけるルールにしたほうがよいのでしょうか…?


考えられる拡張例)
三角関数,財務関数などエクセルにあるような関数のプラグインを別途用意し、簡単な数値シミュレーションを行う。これらの関数が引数にrefcalcの結果を受け付けるなら、さらに用途は広がると思われる。

備考)
この概要設計で相応しくない部分はどんどん削ったり、
使用上の不備と思われる部分はどんどん補足していただけるとよいとおもいます。
仕様上の不備と思われる部分はどんどん補足していただけるとよいとおもいます。
例えばタグ名に日本語は相応しくないのでこのようにする!とか。
私にはアイディアを出すしか能(実装能力)がないので…
 
***コメント [#l02b3008]
- 拙作[[自作プラグイン/include_template.inc.php]]と[[mathfunc.inc.php>http://kahata.la.coocan.jp/wiki/?%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fmathfunc.inc.php]]の組み合わせは如何ですか? -- [[kahata]] &new{2007-08-29 (水) 09:41:22};
- include_templateとmathfuncの組合せ技があったとは知りませんでした。後で試してみます。 -- [[{{{XXX}}}]] &new{2007-08-29 (水) 13:03:32};
- 編集ポリシーが許すなら[[自作プラグイン/google_spsheet.inc.php]]をお勧めします。アウトプットが表形式である限り、上記全てを実現可能です。 --  &new{2007-08-29 (水) 23:42:37};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u10. HTML convert time: 0.044 sec.

OSDN