マイツール ちょっと気配り 計算編
ソースはHTMLで書かれていますので、マウス等で範囲を指定し、CTRL+Cでコピー。 マイツールを起動して「仕事は=」CPAST[ENTER] 後、SETX にてフォーマット行、計算開始行、計算終了行を設定なさって下さい。
この為、TABLEタグ等を使っていませんので、ブラウザのフォントサイズによって、文字がずれる場合が有ります。
Netscape4.75 16px 12px 8px にてOKですが、「12px」で見易いように書かれています。
InternetExplorer 4.72 最大 中 最小 にてOKですが、「中」で見易いように書かれています。
「画面のプロパティ」の「設定」の「詳細」で「大きいフォント」になさってる場合は、Netscape 10px InternetExplorer 最小 が良いかも知れません。
【計算関係】
*1,‥‥‥計算結果にカンマを入れたい ACMC‥‥複数ページに渡るデータの順位付け AV‥‥‥‥空白データが有る時の平均値 ADD‥‥‥連続加算と減算< MTR‥‥‥空白のセルを0で埋めたい SEQ‥‥‥頭に0を付けて連番を振りたい SEQ‥‥‥ゴルフの順位付け C‥‥‥‥‥罫線データの有る表と文字計算【操作、印刷、その他】
MUGかながわにゅーす第20号 「ちょっと気配り」 1992.09.28
SEQ‥‥‥ゴルフの順位付け
UPD命令のN(最小値)を使った順位付けの方法を紹介します。 同じ得点の人がいる場合の順位付けはとても面倒なもの。 ゴルフ好きの会員の方には喜ばれるのでは・・・。 F=10,5,5 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 氏 名 得点 順位 氏 名 得点 順位 氏 名 得点 順位 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 織田 祐二 95 1 織田 祐二 95 1 織田 祐二 95 1 鈴木保奈美 95 2 鈴木保奈美 95 2 鈴木保奈美 95 1 加勢 大周 90 3 + 加勢 大周 90 3 = 加勢 大周 90 3 柳葉 敏郎 90 4 柳葉 敏郎 90 4 柳葉 敏郎 90 3 鶴見 辰吾 90 5 鶴見 辰吾 90 5 鶴見 辰吾 90 3 浅野 温子 80 6 浅野 温子 80 6 浅野 温子 80 6 浅野ゆう子 80 7 浅野ゆう子 80 7 浅野ゆう子 80 6 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 画面 S/1 UPD後の画面 (1) 得点の高い順に並べ替えを行い、1から順に連番をふります。 S::2:4::: SEQ[1,1]=C3: (2) 画面をS/1に書き込みます。 W:S/1: (3) キ―列を得点の列にして置き換えをします。 UPD::S/1:2:2:N:3:3:: キ―列を得点の列にしていますので、同じ得点を一つのグル―プとしてみます。 例えば、95点の人が二人いますが、順位の列に連番を振っただけでは1位と 2位になります。 画面をコピ―した裏画面に対して、UPDのNを掛けた時、 同得点の人の順位のうちで数の少ない方(この場合1と2を比べて最小値)が 選ばれますので、1が95点の人の順位となって記入されます。 90点以下も同様に順位付けされるわけです。 但し、この方法では1画面でしか操作出来ませんので、複数頁に分かれている デ―タの順位付けには向きません。 なお、M4からは RANK:C2:1:1:C3 で出来ます。
MUGかながわにゅーす第21号 「ちょっと気配り」 1992.12.24
ACMC‥‥複数ページに渡るデータの順位付け
ACMCを使って、複数ページに渡るデータの順位付けをしてみましょう。 [成績表1][成績表2][成績表3]・・・と複数の成績表があるとします。 F=10,5,5 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 氏 名 得点 順位 氏 名 得点 順位 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 織田 祐二 95 織田 祐二 95 1 鈴木保奈美 95 鈴木保奈美 95 1 加勢 大周 90 → 加勢 大周 90 3 柳葉 敏郎 90 柳葉 敏郎 90 3 鶴見 辰吾 90 鶴見 辰吾 90 3 浅野 温子 80 浅野 温子 80 6 浅野ゆう子 80 浅野ゆう子 80 6 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ *M3 S:=成績表*:2:4::S1:Z2=Z0: *得点順に並べ替える。 FOR Z1=1 TO Z2: R:S(Z1):1=C3:W:S(Z1): *3列目に1を入れる。 NEXT: ACMC:S1―Z2::C3,C3:+:: *順位の連番をふる。 ACMC:S1―Z2:2::C1,C3::: *得点をキーに繰越演算。 STOP: 計算場所をC1(名前の列)で指定し、書き込み場所はC3(順位の列)に 指定します。 C1は文字列ですからマイツールは計算ができず、キー列で 指定した得点の列で、同じ得点のグループ毎の先頭にある数字を、そのまま 入力していきます。 その為、こういった順位付けが出来るわけです。 マイツールをだまして操作するわけですね。 M4以降ならば、RCで繋げて置き、RANKも使えますが、 こういう方法は色々な応用性が有りますね? 1997.01.10
MUGかながわにゅーす第23号 「ちょっと気配り」 1993.06.30
SEQ‥‥‥頭に0を付けて連番を振りたい
知っていると便利なちょっとしたテクニックを集めてみました。 (1) 0001のように、頭に0(ゼロ)を付け連番を入れたい! [商品コード表] F=1,4,1,6,1 ~~~~~~~~~~ |CODE| 品名| ~~~~~~~~~~ | 1| A| 2列目に上記のように連番を振ります。 | 2| B| | 3| C| まず1から順に連番を振ります。 | 4| D| 計算式:SEQ[1,1]=C2[実行キー] | 5| E| | 6| F| | 7| G| ~~~~~~~~~~ ~~~~~~~~~~ |CODE| 品名| SHUで検索条件なしで、 ~~~~~~~~~~ 「書き換える列は」で 2$[実行] |0001| A| 「新しいデータは」で 0(ゼロ)[実行] |0002| B| と入力してください。 |0003| C| そうすると2列目の余白に全て0(ゼロ)が入ります。 |0004| D| |0005| E| 仕事は=SHU:::Y:2$ :0:: |0006| F| ~ |0007| G| ↑ ~~~~~~~~~~ 半角スペース(これが大切)
MUGかながわにゅーす第23号 「ちょっと気配り」 その2
*1,‥‥‥計算結果にカンマを入れたい
(2) 計算結果に3桁ごとのカンマを挿入したい! 但しここでは、結果が出てからICM(インサートカンマ)命令でカンマを 挿入しません。計算式にちょっと付け足すだけで結果にカンマが入ります。 [売上帳] F=10,10,10,16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 品名 個数 単価 金額 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A 30 300 B 50 450 C 60 600 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 上記の表で金額を計算します。 計算式は:C2*C3*1,=C4[実行キー] 〜〜 ↑ この部分を計算式に追加します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 品名 個数 単価 金額 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A 30 300 9,000 B 50 450 22,500 C 60 600 36,000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MUGかながわにゅーす第23号 「ちょっと気配り」 その3
MTR‥‥‥空白のセルを0で埋めたい
(3) 表のスペースの箇所にすべて0(ゼロ)を入れたい! [在庫表] F=10,10,10,10 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 品名 入庫 出庫 現在庫 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A 10 10 B 5 2 3 C 5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 計算式は:MTR+0[実行キー] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 品名 入庫 出庫 現在庫 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A 10 0 10 B 5 2 3 C 0 0 5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MUGかながわにゅーす第26号 「ちょっと気配り」 1994.03.31
AV‥‥‥‥空白データが有る時の平均値
Q.データの中に空白があります。 それぞれの列の平均を求めたいのですが、このままだと空白も 1件と数えてしまうために、正しい平均値が求められません。 どうすればよいのでしょう? [成績表] 96.12.09 漢 L=0288 C=0074 F=8,10,19,19,19,5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 氏名 国語 英語 数学 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二浦 知良 86 100 竹田 修宏 73 83 モスラ瑠偉 82 62 北川 豪 65 85 ビスシカク 90 92 85 菊名 新吉 78 90 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A.空白データを文字に変えれば件数としてカウントしません。 1.SHU:::Y:$△△△△△:欠席:: スペース(スペースは桁数分必要) [成績表] 96.12.09 漢 L=0288 C=0074 F=8,10,19,19,19,5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 氏名 国語 英語 数学 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二浦 知良 86 100 欠席 竹田 修宏 73 欠席 83 モスラ瑠偉 欠席 82 62 北川 豪 65 85 欠席 ビスシカク 90 92 85 菊名 新吉 欠席 78 90 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.AV:L: [成績表] 96.12.09 漢 L=0294 C=0074 F=8,10,19,19,19,5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 氏名 国語 英語 数学 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二浦 知良 86 100 欠席 竹田 修宏 73 欠席 83 モスラ瑠偉 欠席 82 62 北川 豪 65 85 欠席 ビスシカク 90 92 85 菊名 新吉 欠席 78 90 平均 79 87 80 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.SHU:::Y:$欠席:△:: [成績表] 96.12.09 漢 L=0294 C=0074 F=8,10,19,19,19,5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 氏名 国語 英語 数学 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二浦 知良 86 100 竹田 修宏 73 83 モスラ瑠偉 82 62 北川 豪 65 85 ビスシカク 90 92 85 菊名 新吉 78 90 平均 79 87 80 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MUGかながわにゅーす第34号 「ちょっと気配り」 1996.03.29
ADD‥‥‥連続加算と減算
下のような表の合計支給額を計算する時に、 (1) 残業手当から通勤手当までを足し合計支給額に仮置きする (C5+C11=/CT) (2) 合計支給額に基本給を足し減額金を引いて合計支給額に出す (CT+C2-C12=CT) と2回に分けて計算をしていませんか? うさぎさんの計算(=/を使った)だけでは、離れた場所を足したり、引いたり までは出来ません。 1つの計算式で簡単に出来ないかしら・・・? F=11,8,9,9,9,9,9,9,9,9,9,8,11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 氏名 基本給 残業時間 残業単価 残業手当 役職手当 家族手当 食事手当 住宅手当 皆勤手当 通勤手当 減額金 合計支給額 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 古川 哲也 350,000 5 1,500 7,500 30,000 12,000 10,000 40,000 18,650 栗山 浩二 250,000 8 1,500 12,000 25,000 15,000 10,000 40,000 16,280 10,000 柏木 賢治 200,000 12 1,500 18,000 25,000 10,000 10,000 25,000 10,000 7,850 加藤 正義 150,000 18 1,500 27,000 10,000 10,000 6,520 宇都宮茂夫 150,000 25 1,500 37,500 10,000 10,000 6,520 10,000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ こんな方法はいかがですか? 計算式:C2+ADD[C5―C11]―C12=CT: ADDというのは”指定した範囲の中の数値を連続して足していく” という特殊関数です。 指定方法は ADD[ 先頭行番号 ― 最終行番号 ]= L行番号 ,計算場所指定 ADD[ 先頭列番号 ― 最終列番号 ]= C列番号 ,計算場所指定
MUGかながわにゅーす第37号 「ちょっと気配り」 1997.01.14
C‥‥‥‥‥罫線データの有る表と文字計算
横罫線が入った表に、計算式でデータを足したいときに 例1) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 元データ 例1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1月 97年1月 ”97年”+C1=C2: 1月 97年1月 ~~~~~~~~~~~~~~97年~~~~~~~~ とすると、横線にもデータが入って 2月 97年2月 しまいますね。 2月 97年2月 ~~~~~~~~~~~~~~97年~~~~~~~~ 3月 97年3月 3月 97年3月 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 例2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 元データ 例2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1月 97年1月 そこで、 1月 97年1月 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ”97年”+C1=C3,C3<A: 2月 97年2月 (半角のA) 2月 97年2月 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ のように計算式の後に条件を付けます。 3月 97年3月 3月 97年3月 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この条件は「A より小さければ」という意味ですから、横罫線より半角Aの JISコード番号が後の為、条件に当てはまらず、横線にはデータが足さ れないということになります。 例3) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 元データ 例3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1月 1月10日 ただし、 1月 1月10日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C1+”10日”=C4: 2月 2月10日 2月 2月10日 のように足したいデータが後ろに有る ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 場合は通常の計算式のみで大丈夫です。 3月 3月10日 3月 3月10日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~