マイツール便利技

1件1ページに分かれたデータをひとつの表にまとめる


MWM編集局


 

マイツールは通常は、1件1行の形で表を作成しますが、次の表のように、顧客ごとに1件1ページのデータとしての保存も可能です。この表は、営業担当者が顧客別の情報を1件ずつ収めたものです。

このような表が複数あって、1件1行の表にまとめるには、次のような方法があります。
ここでは、得意先ファイルの1〜25ページに書込まれた得意先ごとのデータを使ってみます。

 

1.

1件1行の表にするデータを1ページ、R命令で読み込みます。

  R[Enter]
  得意先/1[Enter]   (読み込むのは得意先ファイルの1ページ)

 

2.

元表は、顧客の情報を16個の項目に分けて、2列目に書込まれています。
また、2列目の桁数は、入力されているデータの長さに合せて、ページごとに異なっています。
そこで、基になるフォーマットを作成して、裏画面に置きます。
ここでは、画面の1ページ目のデータの2列目をCF命令で30桁にし変更して、X命令で裏画面と入れ替えます。

  CF[Enter]
  2[Enter]   (2列目の桁数を変更)
  30[Enter]  (新しい桁数は30桁)

  X[Enter]   (裏画面と入れ替える)

 

3.

1行1件の表にする前に、RF命令を使って25件分のデータを1行1データの形でひとつにします。

  RF[Enter]
  得意先/2−25[Enter] (得意先ファイルの2〜25ページをまとめる)
  [Enter]            (裏画面の表をフォーマットの基にする)
  [Enter]            (結果は画面に書込む)

結果の書き込み先に画面を指定した場合、データの量によっては画面に書ききれないことがあります。
大量のデータを処理する場合は、あらかじめ、SETC命令の「10‥ページの拡張」の設定を「2‥拡張」または「3‥指定拡張」に変更して、ページ拡張できるようにしてください。
ここでは、「3‥指定拡張」で100ページを設定して、ページ拡張できるようにしておきました。

4.

1行1件の表にするには、TM命令を使います。TM命令で集計するには、縦軸・横軸にする列、集計する列が必要です。この表には縦軸にする列がないので、ICS命令で空白列を挿入します。

  ICS[Enter]
  1[Enter]    (1列目の前に空白列を挿入)
  3[Enter]    (桁数は3桁)
  [Enter]     (空白列の挿入を終了)

 

5.

挿入した縦軸にする列に、SEQ関数を使って、16個ずつの連番をふります。

  DR[Enter]
  0[Enter]  (小数点以下は表示しない)
  3[Enter]  (端数は切り上げ)

  SEQ[2,1]/16=C1  (1列目に16個ずつの連番をふる)

6.

TM命令で、1行1件の表にします。

  TM[Enter]
  [Enter]    (画面の表を集計)
  1[Enter]   (縦軸は1列目)
  2[Enter]   (横軸は2列目)
  5[Enter]   (文字を集計)
  3[Enter]   (集計するのは3列目)
  600[Enter] (新しい1行の長さは600桁)

7. ここまでで、1行1件の表になりましたが、列の桁数をデータに合せて変更し、頭をそろえて、見やすくします。また、表題も「得意先情報」に変更します。

  SR[Enter]
  [Enter]    (全部の列のデータを右に寄せる)

  CF[Enter]
  [Enter]    (全部の列を選択)
  P[Enter]   (列幅をデータ長さにピッタリ揃える)

  CF[Enter]
  [Enter]    (全部の列を選択)
  +2[Enter]  (列幅を2桁増やす)

  SL[Enter]
  3−T[Enter] (3列目〜最終列のデータを左に寄せる)

  CT[Enter]
  得意先情報[Enter] (新しい表題は「得意先情報」)

以上の手順で、1行1件の表が完成します。

 

・補 足

マイツール便利技のNo.18「連番の付け方いろいろ」で、「・7件ずつまとめて同じ番号の連番を付ける。」方法として、

 

1. DR命令で、小数点以下の桁数を0桁、切り上げに設定します。
   DR[Enter]
   0[Enter]    (小数点以下の桁数は0桁)
   3[Enter]    (計算結果は切り上げ)
2.

 

1列目の「連番」に、SEQ関数を使って7件ずつの連番を付けます。
   SEQ[1,1]/7=C1[Enter]
と、1から始まって1ずつ増える連番を、7で割る計算式を入力すると、7件ずつ同じ番号の連番が付けられます。

 

という方法を紹介しましたが、この方法で10行以上に同じ番号の連番を付けると、先頭行が「0」となって、連番が正しく付けられません。
今回のように10行以上に同じ番号の連番を付ける場合は、本文で紹介したように、

SEQ[2,1]/16=C1

とすると、正しく連番が付けられます。

 


MUG Web Magazine

前のページに戻る