はじめに
Accessや他のデータベースからExcelにデータをインポートしたとき、日付のデータがExcelで正しく認識できない、オートSUMボタンをクリックしても合計してくれない、ピボットテーブルでデータをグループ化できない……、などといった問題に直面したことはありませんか?
そこで今回は、このような問題を解決するために、データベースからExcelにインポートする賢い方法、オートSUMなどで集計ができない場合の対処方法、および、セルの書式の操作について解説します。
インポートされた数値データをうまく加工できない!
他のデータベースからExcelにデータをインポートして集計したい場合、オートSUMで合計してくれなかったり、ピボットテーブルでデータをグループ化できずに困ったりすることがあります。
Excelのヘルプによると、
OLAP データベースの元データから作成したピボットテーブル レポートおよびピボットグラフ レポートでは、データをグループ化することはできません。
とあります。
実は、データベースからインポートした数値データは、Excelにおいて「数値」でありながら実際には「文字列」として認識されてしまうのです。そのため、集計ができなかったり、ピボットテーブルのデータのグループ化ができなかったりするのです。特に、データベースからCSV形式で出力されたデータは要注意です。
この場合の回避策としては、CSV形式ではなく、テキスト形式(*.txt)のデータをExcelにインポートするのがポイントです。
Excel用にデータベースからデータをエクスポートする場合は、できる限り、テキスト形式(カンマやタブ区切り)で出力してみてください。どうしても、CSV形式にしかエクスポートできない仕様であれば、後で拡張子を「.txt」に変更してあげるとよいでしょう。そのあと、テキストファイルをExcelにインポートすることによって、数値は数値として扱われるようになります。
集計できない場合の対処方法
では、インポートされたデータをExcelで取り込み、文字列として認識されてしまった場合は、どのように集計すればよいでしょうか?
この場合、データを1で乗算すると、文字列が数値に変換されるため、問題を回避できます。
- どこか空いているセルに「1」を入力します。
- 「1」が入力されているセルをコピーします。
- データ部分を範囲選択して、[編集]-[形式を選択して貼り付け](Excel 2007の場合は[ホーム]タブの[貼り付け]-[形式を選択して貼り付け])を選択します。
- [形式を選択して貼り付け]ダイアログボックスの[演算]オプションのなかから「乗算」を選択し、[OK]ボタンをクリックします。
Excelにテキストデータをインポートする前の注意点
Excelにテキストデータをインポートする前に、以下の点に注意してください。
改行コードに注意
テキストファイルの改行コードがUNIXなどで扱われるLFの場合はExcelにうまくインポートができません。あらかじめ、改行コードをWindowsで使われている形式(CR+LF)に変換しておきます。
改行コードをWindows形式に変換するには、Internet Explorerを利用するとよいでしょう(または、複数の改行コードに対応したテキストエディタを利用します。)。
- Internet Exporerを起動します。
- そのテキストファイルをそのウィンドウにドラッグ&ドロップします。
- 文字コードがシフトJIS以外の場合は[表示]-[エンコード]のサブメニューから、文字コードを指定し、文字化けを修正します。
- 表示結果をテキストファイルにコピー&ペーストし、保存します。
1つのシートの最大行列数を超えないようにする
Excel 2003までの場合、1つのシートには最大行数が65,536行、最大列数は256列までしかありません。もしデータの数が65,535を超えるようであれば、データの数を65,535以内に収めるように制御を行う必要があります。
なお、Excel 2007においては、最大列数が従来の256列から16,384列に,最大行数が従来の65,536行から1,048,576行に増えたため、1つのシートでの行×列のセル数が従来の1,024倍になりました。膨大なデータの集計を行う場合はExcel 2007が便利です。