ライフハック

テキストエディタ × Excel で作業効率をアップ! ツールは組み合わせて使う

テキストエディタ・Excel

リツアンSTCでWeb系のSE・プログラマをやっている、オクダヒロキです。

SEやプログラマをやっていると、難しくないけど時間がかかる作業って出てきますよね。
例えば、テーブルの定義書からクラス(カラムをフィールドにして、getter、setter)を作るときなど、コピペとタイピングを連続して行うことも発生しがちです。

数が少ないときには、そう大きな問題にはなりません。
ただ、ときにはカラムが100個以上の化け物級のテーブルだったり、単純にテーブル数が何十個も作らないといけないときなど、手動でやるのは限界があるケースに遭遇したときはどうでしょう。

まあ、テーブル定義書からのクラス作成などは、会社内で自動化作成プログラムやマクロが用意されていることも多く、困ることは少ないかもしれませんが、ちょっと作業が変わると全自動のツールが使えないことも絶対にあります。

そういった場合、個人的には以下の方針で作業を行っています。

  • テキストエディタが得意なことはテキストエディタへ
  • Excelが得意なことはExcelへ
  • 両方を組み合わせて効率化を図る

今回はその一例を紹介していきます。
うまいこと組み合わせれば劇的に効率化が図れるので、自分の仕事に取り入れられるものがあったら実践してみてください。

テキストエディタが得意なこと

テキストエディタが得意なことは何でしょうか?

文字を書くのはもちろんですが、僕が活用するのは、検索と置換機能、grep機能です。
エディタによるところはありますが、最近のちょっと有名なエディタであれば、このあたりの機能は全てサポートされているでしょう。
そして、正規表現での記述もいけるはずです。

使用例

すごく簡単な例ですが、以下のようなXMLがあったとします。

<Root><Data><Result><Name>山田太郎</Name><Age>15</Age><Result></Data><Data><Result><Name>山田次郎</Name><Age>13</Age><Result></Data><Root>

1行ですべて書かれているので非常に見難いものがあります。
これをもうちょっと見やすくするために、以下の置換を行います。
※今回は秀丸エディタを使用しています。

<実施方法>

  • 検索:><
  • 置換:>\r\n<

<結果>

<Root>
<Data>
<Result>
<Name>山田太郎</Name>
<Age>15</Age>
<Result>
</Data>
<Data>
<Result>
<Name>山田次郎</Name>
<Age>13</Age>
<Result>
</Data>
<Root>

完全とはいえませんが、これだけでも非常に見やすくなったことが分かります。
テキストエディタでは、こういったことは日常茶飯事ですよね。

正規表現についてはここでは説明しませんが、覚えると非常に効率的な作業を実施できるので、初心者の方もぜひチャレンジしてほしいですね。

Excelが得意なこと

次にExcelが得意なことは何でしょうか?

Excelは表計算ソフトなので、計算は大得意なのはもちろんですが、僕は項目を分割するという点を利用します。
他にも、Excelはそもそも表形式となっていることと、Excelが持つ関数を組み合わせて文字列結合なんかは、よく使われているんじゃないかなと思います。

使用例

こちらも簡単な使用例を示しておきましょう。

下記のようなタブ区切りのデータがあるとします。
これの3列目だけのデータにしたい場合はどうしますか?

70	70	500	400	500
125	125	35750	28600	35750
350	350	4180	3344	4180
132.6	132.6	4840	3872	4840
7	7	6380	5104	6380
2	2	6600	5280	6600
4.5	4.5	6600	4950	6600

テキストエディタの矩形選択を使うという手もありますが、タブ区切りのデータであれば、手っ取り早いのはExcelを使うことですね。

1.データを全部コピーしてExcelに貼り付け

2.3つ目のカラムをコピー&ペースト

で終了です。
特段難しいことはないでしょう。
もちろん、TSV専用のツールを使うこともありです。

テキストエディタとExcelを組み合わせる

テキストエディタだけ、あるいはExcelだけで何でもかんでもやろうとすると、作業が行き詰まることがあります。
ただ、その2つを組み合わせるだけで、難しかったものが簡単にできることもあります。

使用例

こちらも簡単な使用例を示しておきましょう。

以下のようなXMLがあったとします。

<Root>
<Data>
<Result>
<Name>山田太郎</Name>
<Birthday>2003/10/31</Birthday>
<Age>15</Age>
<Result>
</Data>
<Data>
<Result>
<Name>山田次郎</Name>
<Birthday>2005/8/15</Birthday>
<Age>13</Age>
<Result>
</Data>
<Data>
<Result>
<Name>山田三郎</Name>
<Birthday>2007/4/11</Birthday>
<Age>11</Age>
<Result>
</Data>
<Root>

このデータから各メンバーの誕生月だけを抽出したいと考えたとき、どのように行えばいいでしょうか。
記載しているのはデータ3件なので手動で抽出すれば事足りますが、データが500件あると仮定してください。
500件すべて手動で抜き出すのは困難です。

やり方として以下のような方法があります。

1.ファイル内grepで”<Birthday>”がある文章を抜き出す

<結果>

<Birthday>2003/10/31</Birthday>
<Birthday>2005/8/15</Birthday>
<Birthday>2007/4/11</Birthday>

2.”<Birthday>”と”</Birthday>”を消去

<結果>

2003/10/31
2005/8/15
2007/4/11

3.”/”をタブに置換

<結果>

2003	10	31
2005	8	15
2007	4	11

4.残ったテキストをExcelにコピペ

これで2番目のカラムをコピペすれば完了です。
実際は、正規表現を駆使すればもっと簡単に取得することも可能です。
ただ、複雑な正規表現は思考時間も長くなるので、手軽にできる方法を選択するのか、じっくり考えてやるのかを都度選択していけばいいでしょう。

最後に:テキストエディタとExcelを組み合わせて使って効率アップ

テキストエディタの得意なこと、Excelの得意なこと、テキストエディタとExcelを組み合わせた使い方をまとめていきました。

Web系のSE、プログラマでは、データというデータを扱うことが頻繁にあり、データ解析も重要になってきます。
そういった作業で時間を使い過ぎないようにするには、ツールをうまく使いこなすことが非常に重要です。

今回はテキストエディタとExcelで組み合わせてみましたが、実際には他にもいろんな方法があります。
組み合わせなくても、専用のツールを使用すれば、もっと簡単にできたりもします。

ここで伝えたかったのは、一つの作業を行うために特定のツールにこだわるのではなく、複数のツールを組み合わせて使用していくことで効率アップを図れるということです。
自分に合う効率的なパターンを見つけて、「手が速いね!」と言われることを目指していきましょう。

そして、プログラミングのスキルアップの時間を確保していきましょう。

プログラミングスクールに通って実務までの最短距離を歩もう

人手不足により、プログラマの報酬が大きく増加しています。首都圏の場合、2~3年の経験を積めば月単価60万円(月商)も可能。

プログラマの魅力は手に職がつくこと、働く場所を選ばないことです。経験を積んでいけば、将来的には憧れのノマドワーカも夢ではありません。

ただし、プログラミングは自主学習の難易度が極めて高く、孤独で相談できない環境は多くの人が挫折します。なので、メンターや仲間と一緒に取り組めるプログラミングスクールに通うのがベターです。

中には就職支援をしてくれるスクールもあります。スクールを活用し、最短距離で実際の開発現場へ進んでいきましょう。

相談はこちらから▼