表計算に貼付 | package入門(カレンダー・システム編) [講座] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 講座 | package入門 | ポテンシャルを飛躍的に高めるrpnパッケージを学習。

表計算に貼付

 rpnで計算した結果を表計算ソフトに貼付(ペースト)したいと思ってもうまくいきません。以下を試してみると分かります。

  >echo 1 2 3 4 5 6 7 8 9 10 | rpn 5 -c fold
  1 6
  2 7
  3 8
  4 9
  5 10

  >echo 1 2 3 4 5 6 7 8 9 10 | rpn 5 -c fold >tmp
  ①表計算を起動。
  ②tmpファイルをエディタ等で開いてコピー。
  ③表計算ソフトにペーストすると…。

  +-------------------------------------------------------------+
  |□ 表計算ソフト                                         _□×|
  +-------------------------------------------------------------+
  | ファイル(F) 編集(E) 表示(V) 挿入(I) 書式(O)                     |
  +-------------------------------------------------------------+
  |   |   A   |   B   |   C   |   D   |   E   |                 |
  |--- ------- ------- ------- ------- -------                  |
  | 1 | 1 6   |       |       |       |       |                 |
  | 2 | 2 7   |       |       |       |       |                 |
  | 3 | 3 8   |       |       |       |       |                 |
  | 4 | 4 9   |       |       |       |       |                 |
  | 5 | 5 10  |       |       |       |       |                 |
  | 6 |       |       |       |       |       |                 |


rpnの計算結果がAの列にすべて入ってしまっています。表計算ソフトでデータを再利用するにはA列とB列に分かれてペーストできているほうが便利です。このようになってしまうのは、rpnが数値と数値の間を半角スペースで区切って表示しているためです。

情報半角スペースで区切った状態であっても、表計算に読み込む際に数値の区切り記号として半角スペースを指定すれば、A列とB列に分けて読み込むことができます。

表計算ソフトへ簡単にペースト

 ちょっと面倒ですね。そこで、rpnの計算家結果をすぐ表計算ソフトにペーストできるプログラムをカレンダー・システムパッケージで用意しました。このentabプログラムは連続する1つ以上の半角スペースを1つのタブ区切りに変換してくれるプログラムです。

  >echo 1 2 3 4 5 6 7 8 9 10 | rpn 5 -c fold | rpn -c entab
  1       6
  2       7
  3       8
  4       9
  5       10


計算結果を見ると数値の区切りが広がっていることが分かります。これは区切りにタブ記号を使っているからですが、タブで区切ると表計算にペーストするときに楽になります。次をご覧ください。

  >echo 1 2 3 4 5 6 7 8 9 10 | rpn 5 -c fold | rpn -c entab >tmp
  ①表計算を起動。
  ②tmpファイルをエディタ等で開いてコピー。
  ③表計算ソフトにペーストすると…。

  +-------------------------------------------------------------+
  |□ 表計算ソフト                                         _□×|
  +-------------------------------------------------------------+
  | ファイル(F) 編集(E) 表示(V) 挿入(I) 書式(O)                     |
  +-------------------------------------------------------------+
  |   |   A   |   B   |   C   |   D   |   E   |                 |
  |--- ------- ------- ------- ------- -------                  |
  | 1 |      1|      6|       |       |       |                 |
  | 2 |      2|      7|       |       |       |                 |
  | 3 |      3|      8|       |       |       |                 |
  | 4 |      4|      9|       |       |       |                 |
  | 5 |      5|     10|       |       |       |                 |
  | 6 |       |       |       |       |       |                 |


先ほどと同じことをしているのですが、今度はうまくいってますね。きちんと5行2列に分かれてペーストできています。

entabは小さなプログラムですが、表計算ソフトにデータを転送してグラフを描いたりするときに重宝します。rpnからの出力をentabプログラム経由でクリップボードに吐き出せば、すぐに表計算ソフトにペーストできるのですから。

情報本講座で使用したプログラムは、カレンダー・システムパッケージとして購入することができます。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

カレンダー・システムパッケージ

カレンダー

ユーティリティー

マイスター

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn標準版(2kリビジョン)はダブルクォートで囲ってください。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS」を参照ください。

注意rpnの障害情報と対策はこちら