○第144回目 ユーザー関数(条件付SUMPRO関数、その3)
パラメータ='D20,A42,A20,42,B20,C21のコピーの問題です。
これをコピーしたら、計算式のように座標が変わってほしいということです。
考えてみましたら、これはそれほど難しくないのです。既存のマクロで何とかなります。
その前にパラメータの項目を修正しておきます。
パラメータ=/D19,D20,A20,42,B20,C21として
E19にこのパラメータを入れておきます。
関数式を入れるのは、D21にします。
D19,D20の数値を入れ替えることによって、答えが任意に求められることになります。
パラメータと関数式が、D19:E21の中に収まることになります。
このセットをコピーしていきます。
参照する表がかわらないとすると、パラメータの中で動くのは、D19、D20の二つになります。
そこでパラメータそのものを、/D19,D20,$A$20,42,$B$20,$C$21 とします。(パラメータをこう変えると、関数式の中に、頭の/を取る処理を加えればよろしいです)
1.まず、パラメータを、複数項目の置換えで、/を=、,を+にし、次のようにします。
=D19+D20+$A$20+42+$B$20+$C$21
2.関数式を含めたセットを任意の場所にコピーします。そうすれば座標が動きます。
3.次に全体を指定して、複数項目の置き換えをし、元の姿に戻します。 = は/、+は,に置換えです。
置換え文字
┏━━┳━━┳━━┓
┃, ┃+ ┃ ┃
┣━━╋━━╋━━┫
┃/ ┃= ┃/ ┃
┣━━╋━━╋━━┫
┃ ┃+ ┃, ┃
┗━━┻━━┻━━┛
と3列3行に置換文字を入れておけば便利でしょう。
最初の置換えは、先頭の2行2列を指定し、最後の置換えは、2行2列目から3行3列目を指定します。(計算式なので計算式の要件を満たしていなければ、=絡みの置換えが無効となる)
2010年5月3日月曜日
登録:
コメントの投稿 (Atom)

0 件のコメント:
コメントを投稿