- ベストアンサー
Excelシートやフィルタの疑問について
- Excel2010(WIN7,メモリ4GB)を使用しています。以前、シートがとても重たい件(コピー、挿入の操作で30秒前後かかる)で質問した際、メモリ不足では?とのことでPCの買い替えを考えなければダメかな?と検討したところ、4GBを仮に16GBにしても起動が遅くなるだけで解消されないのでは?のご意見もありました。
- オートフィルタの設定が16384列まで、条件書式によるセルのぬりつぶしが最終行まで適用になっているのでは・・?(未使用の3万行までは確認)ならばシート全体を使用している膨大な表となっている。だとすればシートが重たいのは当然。という解釈は成り立ちますか?(条件書式を○○以下としているため、未使用部分も塗りつぶしされているようです) 実用に不向きなExcelの機能なんてあるわけないかも?と今思ったりもしています。
- 関連で、フィルタの適用範囲が2003だと1000行までらしいですが、2010はどうなんでしょうか?約5000行の表ですが、500行までしか抽出されません。空白行が関連しているであろうと推測するのですが、抽出されている500行までの中にも空白行は点在しています。試しに510行目の空白行を削除後、同じ位置に行を挿入。その後、抽出すると510行まで対象となっています。なぜか?がわかりません。約5000行までの間に約10行毎にある空白行に対し、削除・挿入の作業を繰り返す以外に対策はないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>(未使用の3万行までは確認)ならばシート全体を使用している >膨大な表となっている。だとすればシートが重たいのは当然。 >という解釈は成り立ちますか? 成り立ちます。ブックがXML基準になってから、「どこまで属性が 設定されているか」は、露骨に容量や処理速度に影響するように なってしまいましたので。 フィルタの適用範囲の行数は、制限がありません。ただし、ご想像 の通り、途中で空白行があると、そこでフィルタの範囲が切れて しまいます。フィルタの範囲がどこまでかは、表の左端と右端で [Ctrl]+[↓]を使って、「範囲の終了まで」カーソルを飛ばしてみると わかります。 >約5000行までの間に約10行毎にある空白行に対し、削除・挿入 >の作業を繰り返す以外に対策はないのでしょうか? その通りです。 ただ、「空白行を抽出対象として許可する」ならば、たとえば隣の シートに=Sheet1!A1などの参照式を作って表全体に広げ、そちらで フィルタをかけるという手があります。これなら、「空白を参照すると 0が表示される」=「そのセルがゼロになっているたねに、範囲が 空白を超えて広がる」のでうまくいくはずです。 もっとも、ブックがXMLベースになったとはいえ、Excelは行数が 1万行を超えると途端に処理速度が落ちて、不安定になることは あまり変わっていません。レコードが1万件を超える場合は、Access を使うことを検討してください。
その他の回答 (2)
- chonami
- ベストアンサー率43% (448/1036)
>フィルタの適用範囲が2003だと1000行までらしいですが これは、フィルタの条件として抽出される項目数ですね。適用範囲が1000行ではあんまりです。 つまり、1000個の項目でフィルタリングできるという事です。ちなみに2010では10,000です。 空白行を含めてオートフィルタを設定するには、あらかじめ範囲選択をしてからやれば空白行を含んでオートフィルタを設定することはできます。 この場合、データが増えた場合にうまく範囲を拡大できない場合があるのでその都度確認する必要があると思いますが。 そもそも、フィルタリングするようなリストに空白行を作るのがちょっと問題な気もします。
お礼
範囲を選択してからですか。知りませんでした。 データは日々増加するため、向こう数年分くらいの行を選択範囲としてやってみます。 ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
初めに約5000行の連番を別の列に記載してから、全体を選んで、空白行のある列を基準に並べ替えてから、空白行を一気に削除して、元の連番通り並べ替えてはいかがでしょう。
お礼
そんな方法もありますか。応用編としてマイマニュアルに記しておきます。 ありがとうございました。
お礼
一万行が目安となれば敷居が高そうなAccessも視野に入れて検討しなければならないようです。 多岐にわたり詳細なアドバイスありがとうございます。