電子出版小技集 015

桁合わせ表の縦横変換

秀丸エディタ\初級\BOX選択\置換

 前回は秀丸エディタのBOX選択で桁合わせをした表を作りましたが、今回は表の縦横を変換してみます。

 表は行と列で構成されますが、「行を列」に「列を行」に変更しようというわけです。たとえば下の表を見てください。


元の表
年次      携帯電話   PHS    PDA   パソコン   FAX   カーナビ
平成8年    24.9     7.8     −     22.3    20.7     3.3
平成9年    46.0    15.3     3.3    28.8    26.4     7.0
平成10年    57.7    13.1     3.3    32.6    31.9     9.3
平成11年    64.2    11.5     4.9    37.7    34.2    11.6
平成12年    75.4    13.0    10.3    50.5    40.4    16.0
平成13年    75.6     9.1     4.1    58.0    41.4    17.5

 この表の情報機器を各行にし、年次を列にしようというわけです。こんな作業がいっぱいあればマクロやPerlでも使って自動化しなければならないわけですが、1、2点であれば置換とBOX選択でやっつけてしまいましょう。

  1. まず各行を縦に展開します。各欄を区切っている空白の連続に着目してそれを改行に置き換えると、それぞれの項目がひとつづつ縦に並びます。
    これで「行」が「列」に変換できました。
置換の設定
検索文字列(正規表現): [_□]+
          置換文字列: \n
(_は半角空白、□は全角空白)
置換の結果
年次
携帯電話
PHS
PDA
パソコン
FAX
カーナビ
平成8年
24.9
7.8
−
22.3
20.7
3.3
平成9年
46.0
15.3
3.3
28.8
26.4
7.0
平成10年
57.7

…中略

40.4
16.0
平成13年
75.6
9.1
4.1
58.0
41.4
17.5
  1. 次にBOX選択のカットアンドコピーで順次各列を移動します。
    BOX選択については前回を参照してください。
 
年次      平成8年  平成9年  平成10年  平成11年  平成12年
携帯電話  24.9      46.0      57.7      64.2      75.4
PHS       7.8       15.3      13.1      11.5      13.0
PDA       −        3.3       3.3       4.9       10.3
パソコン  22.3      28.8      32.6      37.7      50.5
FAX       20.7      26.4      31.9      34.2      40.4
カーナビ  3.3       7.0       9.3       11.6      16.0



平成13年
75.6
9.1
4.1
58.0
41.4
17.5

 はいこれで出来上がり。簡単、簡単。でもこの表、桁合わせで少々調整が必要ですね。

 数字などを右揃えで配置したい場合は、BOXコピーする前に調整しておけばコピー後に苦労しないで済みます。

…
平成8年
24.9
 7.8
 −
22.3
20.7
 3.3
…

 また元の表がすでに空白で数字の右揃えがされている場合は正規表現を工夫しましょう。上の例なら半角空白の連続のうち前の4つを改行に置換することで桁合わせの空白が保存されます。

置換の設定
検索文字列: ____\f_*
置換文字列: \n\1
置換の結果
…
平成8年
24.9
 7.8
 −
 22.3
20.7
 3.3
平成9年
46.0
15.3
 3.3
…

 表の縦横変換は簡単そうに見えて実際にやってみるとたいへんな作業量が発生します。Box選択を使えば少しは手間が省けるでしょう。えっもっと自動化したいって?そのうちPerlを使った方法を紹介したいと思います。



BACKNewsletterのTopに戻る
Homeトップページに戻る