[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『大量の不要な行を削除する効率的なやり方』(うらみぶし)
列Aに文字列、列Bから列ASまで数字がはいっている1万行以上のデータの処理。
データベースから自動生成されており、その中に「列Bから列ASまでのセルの値がすべて0」の行が大量に含まれている。
集計上意味がないデータなので、この行(すべてが0の行)を削除したい。
現在は手作業で対応。
エクセルの以前のバージョン(2003?)ではフィルタを使用して、列Bから順番に値が0のものを抽出して列Zまで抽出し終わったら行選択して行削除していた。
現在のバージョン(2016)では列の数が多くなると適切に削除できない(0以外の値が含まれる行も削除されてしまうことがある)ため、列Bから順番に昇順(もしくは降順)にソートを行い、一旦列ASまでソートしたあと、かたまりとなった”集計上意味のない数千行”を目視+手動選択で削除している。(わかりにくい表現ですみません)
作業に要する時間約10分。
ルーチンなので、短縮したい。
できればマクロで自動化したい。
お知恵ありますでしょうか?
< 使用 Excel:Excel2019、使用 OS:Windows10 >
手作業の案ですが、
A列とB列の間に1列挿入 B2 =COUNTIF(C2:AT2,"<>0")>0 データ下端までフィルダウン B列全体をコピーしてそのまま値だけ貼り付け (←以降の処理が多少は速くなると見越しての数式除去) B列で昇順に並べ替え (←行の削除そのものに掛る時間を短縮するのにも効果的と思います) B列が「FALSE」の行を一括削除 (←オートフィルタで絞り込むか、検索で「TRUE」の先頭に行ってそこから上の行全部消す) B列を削除
これなら10分は掛らないと思いますがどうですか?
(白茶) 2019/06/11(火) 11:32
ありがとうございました
(うらみぶし) 2019/06/11(火) 14:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.