前回は秀丸エディタの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選択でやっつけてしまいましょう。
検索文字列(正規表現): [_□]+ 置換文字列: \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
年次 平成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を使った方法を紹介したいと思います。