• ベストアンサー

エクセルで行数の多いCSVデータの集計方法

はじめまして。 会社の売上げデータを集計していてわからないことがありご質問させていただきます。 得意先の納品伝票のデータをCSVで出力してそれをエクセルのピボットテーブルで月間の日別商品別の納品数量の表を作っていたのですが、データ件数が多くなり65535行を超えてしまいデータが全て表示できなくなってしまいました。CSVで出力するデータの日付の範囲を一ヶ月ではなく、半月ごとに分けて2つのファイルにして集計しようと思ったのですが、うまく集計する方法がわかりません。このような場合どうやってやるのがよいのでしょうか。 CSVデータは例えて書きますと以下のような配置です。 日付・便・商品名・店舗名・数量・金額・その他・・・ 8/1   1   ビール  名古屋  5   50  8/1   1   日本酒  大阪   3   150 8/2   2   ビール  札幌   4   40 8/3   1   焼酎   東京   2   80 8/3   1   焼酎   名古屋  1   40 このうち店舗別には集計しない為8/3の1便の焼酎の数量は3として集計します。 ピボットテーブルでは縦に商品名、横に日付、でその数量を集計します。また、シートに便を指定できるようにしています。 当社には専門のプログラマーがおらず、業者の方に依頼すると高額な費用が掛かってしまうため予算が無い私には自分で何とかするしか方法が無いです。 どなたかよい方法を教えて頂けませんでしょうか。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#15601
noname#15601
回答No.4

#2です。 ACCESSからExcelへのデータの受け渡しにはいろいろな方法がありますが、私の場合はACCESSのクエリ(ピボットの化け物みたいなもの)の結果をコピー&ペーストでExcelのシートに貼り付けちゃいます。 その後は、Excelを使って「データをさまざまな角度から」分析します。 今回のパターンだと、  CSVを2分割して一旦ピボットを使って行数を減らす という部分をACCESSでやって(一度クエリを設計してしまえば、以後は自動です)、それをExcelに貼り付けてピボットを使います。それを営業さんに渡せばいいでしょう。 例えて言うなら丸太(大量のデータ)をチェーンソー(ACCESS)で大雑把に加工(不要な項目を捨てデータ量を減らす)して、ノミ(Excel)で仕上げる(分析する)。といった感じですね。

haruchin2
質問者

お礼

わかりやすい説明ありがとうございました。 ACCESSっていろいろと便利なんですね。 これから頑張って覚えたいと思います。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

多分もとのCSVデータは、会社基幹システムから吐き出されるのでしょうが 、本来会社のシステムで、期間のFromとToを指定できるように要望すべきです。でもできないのでしょうね。(あるいはユーザー部門で出力操作はしないのかな。) 本件の場合は、メモ帳(件数が多くて読み込めないかも)やワードパッドやエヂタ(フリーのものも多々あると思う)に読み込ませ、月の後半を操作でDeleteし、名前をつけてcsvで保存する。同じく前半をDELETEし名前をつけてcsvで保存する。 それで、たまたま、CSVが日付順のようなので、1月分を2分割できる。 または10行程度のVB(A)プログラムを組めば、任意の月中日付の範囲で区切って、CSVを出力できます。 OKWEBで質問すれば、すぐ回答が載ると思います。

haruchin2
質問者

お礼

ありがとうございました。 VBAプログラムについても今後勉強していきたいと思います。

すると、全ての回答が全文表示されます。
noname#15601
noname#15601
回答No.2

まず前半分をピボットで、縦軸に日付、便、商品名を並べ数量を集計します。横軸とシートは使いません。 できたピボットをコピーして別のシートに「形式を指定して貼り付け」でデータのみを貼り付け、上部のデータ以外の行を削除します。 次の後半分を同様に集計して、同じ方法で前半分を貼り付けたすぐ下に貼り付けます。もちろんデータ以外の行は削除します(この時点で65535行を超えるのなら諦めてください)。 これで店舗名がなくなり日付、便、商品名、数量だけになります。あとは、改めて1行目に項目名を挿入して、ピボットでいつものように集計しましょう。 と、説明しましたが、ACCESSだったら一発なんですよねぇ。それに、速いし。敷居は高いけど、使えると応用はききますよ。

haruchin2
質問者

お礼

ありがとうございました。 上手く集計が出来ました。 ACCESSも今後は覚えたいと思います。

haruchin2
質問者

補足

ACCESSの件で1つご質問させていただきたいのですが、出来上がった表はエクセルでも使えるのでしょうか。今、社内では作った表を営業担当者に渡してそのまま加工して使っています。ACCESSについては全く使えませんのでエクセルでそのデータが使えないと難しいのですが。

すると、全ての回答が全文表示されます。
回答No.1

Excelで扱える行数の上限は仕様なのでどうすることもできません。 そういった用途にはMS Accessをオススメします。 安くはありませんが、プログラマ雇うよりは安上がりです。 けっこう勉強も必要ですが、よくある事例なら解説本の手順をそのままやれば実現できます。 解説本自体も豊富にあります。 自社に技術力が無い場合に専門家(お金)に頼ることになるわけですが、両方無い場合には、問題の解決を諦めるという選択肢くらいしかありません。 あとは、親戚の理系の大学生とか知り合いのプログラマとか・・・

haruchin2
質問者

お礼

ありがとうございます。 今後はアクセスも勉強していきたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A