🐡

Excelでのデータ加工変換と結果の書き出し方法について比較する

に公開

はじめに

Excelファイルを受領した際、Excelデータの加工変換が必要になるケースがあると思います。例えば、データのフォーマットを統一したり、システムに適した形式へ変換という場合です。その際どういった方法があるでしょうか。また加工変換したデータは書き出しも必要です。本記事では、Excelでのデータ加工変換とその後の書き出し方法について4つの手法で検討します。書き出し先に関しては、今回は最もシンプルなCSVでの書き出しで比較します。

比較する方法

1.手動
2.Excel関数
3.Excelマクロ
4.ETLツール

この4つの方法を比較します。それぞれの手法のメリットとデメリットをご紹介します。

1. 手動での変換

手順

  1. Excelファイルを開きます
  2. 変換したいデータを選択します
  3. 変換操作を手動で行います。たとえば、書式を変更したり、必要な編集を行います
  4. [ファイル]メニューから[名前を付けて保存]を選び、CSV形式で保存します

メリット

  • 操作が直感的で簡単に実施できる
  • PCが使えれば特別なスキルや知識が不要

デメリット

  • 大量のデータに対しては非常に時間がかかる
  • ヒューマンエラー(変換漏れなど)の可能性がある

2. Excel関数を使用した変換

手順

  1. Excelファイルを開きます
  2. 新しい列を追加し、必要な変換関数を入力します。例えば、データの形式を変更するための関数を使用します
  3. 関数を必要な範囲までドラッグして適用します
  4. 通常通り [ファイル] メニューから [名前を付けて保存] を選び、CSV形式で保存します

メリット

  • 大量のデータに対して自動で処理できるため、効率が良い
  • 関数を使用することで、一貫性のあるデータ処理が可能になる

デメリット

  • 数式を入力しているため、使い方が熟知していないユーザーには難易度が高い
  • 関数で出来る範囲のことしかできない

3. Excelマクロを使用した変換

手順

  1. Excelファイルを開きます。
  2. [開発]タブで [マクロ] を選択し、次に [新しいマクロ] をクリックします。
  3. 例えば以下のVBAコードを入力し、必要なデータ加工変換を実装します。
    Sub DataTransformation()
        Dim cell As Range
        For Each cell In Selection
            ' データ加工の処理を書く(例: 全角から半角への変換など)
            cell.Value = StrConv(cell.Value, vbNarrow)
        Next cell
    End Sub
    

4.マクロを適用したい範囲を選択し、作成したマクロを実行します。
5.[ファイル] メニューから [名前を付けて保存] を選び、CSV形式で保存します。

メリット

  • 一度マクロを設定すれば、何度でも簡単に実行できる
  • 複雑なデータ加工も自動化できるため、非常に便利

デメリット

  • VBAの知識が必要
  • マクロがブラックボックス化し、俗人化につながる

ETLツールの利用

今回はクラウドETLツールである弊社のHULFT Squareでの手順を記載します。

手順

  1. 自動化スクリプトをGUI上で作成する
    1-1. Excelの読み取り処理を作成する(読み込むExcelを指定してExcel画面から範囲選択)
    image.png
    1-2.CSVの書き込み処理を作成する(書き出しファイル名と列名を設定するだけ)
    image.png
    1-3.加工変換を作成する(おこないたい加工のアイコンを配置するだけ、今回は全角の文字を半角に変換)
    image.png
    1-4.スクリプトの完成
    image.png
  2. ExcelファイルをETLが参照できるところに上げる
    あとはツールが自動的に加工変換し、CSVファイルを出力します。

メリット

  • GUI上で利用できるため非IT人材でも作成可能
  • その後の保守が容易

デメリット

  • Excelだけで完結しない
  • 製品を利用するため料金がかかる

結論

各手法にはそれぞれのメリットとデメリットがありました。使用する状況に応じて最適な方法を選ぶべきです。一時的な処理の場合は手動での方法が良いですが、定期的な作業や大量のデータ処理には自動化を検討すべきです。中でもETLツールは、GUI上で利用ができ保守性に優れているため、ある程度の規模以上の場合はおススメです。

Discussion