• ベストアンサー

エクセルでデータの間引き

エクセルでグラフの作成をしようと試みたところデータ数が 10000程あったため途中までのデータしかグラフ化されません。 そこで、データを10あるいは100行おきに間引きをしてグラフの作成を行いたいのですが、エクセル上で簡単にこのような操作を行うためにはどのようにすればよいのでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

Excel2007からは事情が変わっているそうですが、それ以前のバージョンの場合です。下記のコードで、試してみました。test()でデータを作成し、ctrl+shift+:で、全データを選択して、グラフを描かせてみました。 その後、test2のコードで、途中の行を非表示にしてみました。 Sub test() Dim i As Long Application.ScreenUpdating = False For i = 1 To 65536 Cells(i, 1) = i Cells(i, 2) = i ^ 2 Next i Application.ScreenUpdating = True End Sub Sub test2() Rows("100:65500").Select Selection.EntireRow.Hidden = True End Sub 分かったこと(Excel2000ですが、2003までは一緒だと思います) Excelがグラフ化してくれるのは(65536/2)個まで。 途中の行を非表示にすると、最後のデータまで表示してくれる。 以上から、例えば10行おき、100行おきに作業列に目印を置いて(例:*)、オートフィルターにより、目印のついた行だけを表示してはいかがでしょう。 ただ、32000個を超えるデータでは重くてしかたがないと思います。当方、65000個を超える様なデータの場合に、Accessのmdb形式のデータファイルにして、必要なデータだけワークシート上に抜き出して、グラフ化等行っています。こちらは一口では説明できませんので、リンク先をご覧下さい。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130.html

その他の回答 (1)

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

対象以外のデータは捨てるわけには行かないから (1)抜き出し(関数、VBA、フィルタなど) 例えば13個おきにサインを立てるのは =IF(MOD(ROW(),13)=0,"1","") 連番を振るのは=IF(MOD(ROW()-1,13)=0,MAX($C$1:C13)+1,"") この後連番を振ったものを別シートに取り出す方法は、imogasi方式 でGoogleで照会してみてください。私がこのコーナーでした抜き出し問題の多数の回答の中に書いています。(昨日もありました) (2)非表示(幸いグラフは非表示のデータは対象にしないので)にする しかしこれ(非表示)は関数では絶対どうにもならない。VBAがいる。 小数なら手作業でやれる。 13行ごとに表示の例なら(実行時間は少しかかる) 下記を実行して非表示にできる。下記コード内で13のところを 適当に変える事。 標準モジュールに Sub test01() Application.ScreenUpdating = False For i = 1 To 10000 If Cells(i, 1).Row Mod 13 = 0 Then Else Cells(i, 1).EntireRow.Hidden = True End If Next Application.ScreenUpdating = True End Sub

関連するQ&A

  • VBAのデータ抽出(間引き)について

    VBAのデータ抽出(間引き)について 当方VBA初心者なのですが、 VBA(EXCEL2007)を使用してグラフ作成をしようと思っています。 元データの書式は以下の通りでデータ行は30秒間隔で 一カ月分(8万行)あります。 2010/08/01 01:00:34     1112.83 2010/08/01 01:01:04     1110.43 2010/08/01 01:01:34     1111.87 2010/08/01 01:02:04     1112.23 2010/08/01 01:02:34     1112.43 2010/08/01 01:03:04     1112.03 2010/08/01 01:03:34     1110.83 2010/08/01 01:04:04     1112.43 2010/08/01 01:04:34     1110.63 ・・・ データ量が多すぎるので間引きしようと思っています。 間引き(抽出)条件は以下の様に考えています。 10行毎(5分毎)に値の最大値の行を抽出して別シートへコピー。 VBAマクロで処理するにはどの様な コードで実現可能でしょうか? 教えて頂きたく。よろしくお願いします。

  • エクセルで最大値最小値を残して間引きをしたい

    エクセル2000を使用しています。 電圧と温度の数値データが100列×20万行のCSVで保存してあります。 このデータを解析の為エクセルで読み込みたいのですが、 データの行数が多い為読み込めません。 そこでデータを間引いて取り込みたいのですが、過去ログやWEBには 「数行毎に削除して取り込み」しか見つけられませんでした。 これではピーク値を削除してしまう可能性があるので、 10行毎に最大値と最小値を残して削除をしたいです。 例 1 7 2 8 3 9 4 10 5 11 6 12 これを3行ごとに間引き 1 7 (1~3行の最小値) 3 9 (1~3行の最大値) 4 10 (4~6行の最小値) 6 12 (4~6行の最大値) のように間引きをしたいです。 大きなCSVを複数のシートに分割して読み込むマクロは組めたので、 CSV読み込みからでは無く、エクセル上で上記のように間引きが 行えるだけでも大変助かります。 よろしくお願いします。

  • excelで、ある条件に対し正なら行を削除したい

    Excelを用いてグラフを作成したいと思っています。 しかし、データ量が多く、グラフが読みにくくなるため、 間引きをおこなうことにしました。 間引く際に一つ一つけしていくととても時間がかかるので マクロを作りたいと思ってます。 しかしはじめてマクロを作るため、調べてもよくわからなかったので 教えていただきたく思います。 データは一秒感覚で測定したデータが三万行ほどになっています。 それを三十秒感覚に間引いてグラフにしたいと思っています。 シートにはこのように記述しています 時間 |測定結果 12:34:56|○○ 12:34:57|○○ : 時間の欄の下二桁が00と30のとき以外の行を削除したいです。 一部分の判断が難しいようなら、一番左に列を挿入し、 00、01、02と秒数のとこだけ書き出し、それを用いて判断するのもいいかなと 思っています。 マクロに詳しい方いましたら、どのようにして組んだらいいか教えてください。 お願い致します。

  • Excelマクロ:配列データからグラフを作成するには?

    マクロ初心者です。 Excel VBAのマクロで、2つの配列データから、散布図グラフを作成したいのですが、セルに配列データを書き込まず、直接グラフ化するにはどうしたらよいでしょうか? 配列データの要素数がexcelの行と列の最大数(65536,256)?を超えてしまっているので、配列データから直接グラフ化したいと思っています。 よろしくお願いいたします。

  • エクセルでデーター分布のグラフ作成

    ある生データをもとにデーター分布のグラフ(ヒストグラム?)を作成したいと思っています。 エクセルで作成しますので、操作方法などを分かりやすくご教授願います。 また、このグラフに規格値(Max&Min)も入れたいと思っています。これもエクセルで出来るのでしょうか?

  • Excelグラフ作成時のデータ選択ショートカットキー

    Excelでグラフを作成を効率よくやりたいです。 グラフ作成するときに元のデータ⇒xの値⇒一行目のデータクリック このあと、データの最終行までデータ選択するショートカットキーをどなたかご存知ないでしょうか。よろしくお願いします。

  • Access2000で実験データの間引きをしたい。

    Accessで約10万行の実験データを間引きをしたいのですが クリエで主キーのフィールドID-抽出条件-Between 1 And 4000等で 連続区間のデータは抽出出来ますが、IDの数字が:奇数:3の倍数:4の倍数等を 抽出したいので、フィールドIDの抽出条件にMOD(数値, 除数)を入れましたが エラーが出ました。 どの様にして、データの間引きをするのが良いのでしょうか。? 何方か、良きアドバイスをお願いします。

  • csvファイルのデータの間引きをしたい

    はじめまして。 csvファイルをもとにMSChartでグラフ表示するのですが、データ量が大きすぎ、描画に時間がかかってしまいます。 そこで、csvファイルの間引きを考えたのですが、うまい方法が見当たりません。 何かよい方法はございませんでしょうか? よろしくお願いいたします。 P.S. 何行かおきに変数に読み込むことを考えたのですが、Line Inputでは解決出来ませんでした。

  • EXCELのグラフの作り方

    EXCELでグラフを作る際に、範囲指定で偶数行(もしくは奇数行)のデータを用いてグラフを作成するということは可能でしょうか? よろしくお願いします。

  • Excel のサンプルデータ、事例集を探しています

    Excel のサンプルデータ、事例集を探しています。 Excel を利用して、表を作成したり、グラフを作成したりする際の 元となるデータとして使いたいと思っています。 目的は、Excel の表、グラフ、ピボットテーブル機能の学習のためです。 Excel 形式でなくても構いません。 csv やテキスト形式など、どのような形式でも構いません。 ただ、ビジネスで扱われる様々なデータを探しています。 事務が扱う備品代等の帳簿データや、 書店が扱う本の売り上げデータ、 在庫管理データ、 酒販店が扱うお酒のデータ、 飲食店が扱う売り上げデータなど、 どのようなものでもよいので、ビジネスの場で扱われるデータを探しています。 そのデータを元に、表やグラフを作成します。 できるだけ件数(レコード数)が多いサンプルデータを探しています。 また、ピボットデーブルの学習のため、フィールド数(列数)もそれなりに多いものを探しています。 なお、国の各種統計データのサイトは、 データが豊富ですが、特殊なレイアウトの html ページになっているため、 データをエクセルに取り込むのが難しいので避けています。 また、サンプルデータやサンプル事例集など、 有料のCD版でも構いませんので、お勧めなどがありましたらお教え下さい。 長文失礼しました。 御知識のある方いらっしゃいましたら、どうかよろしくお願い申し上げます。

専門家に質問してみよう