- ベストアンサー
Excel2007 不要データを消したい
以下のように,不要なデータがaaaaaとbbbbbにはさまれています。 必要データと書いてある部分が残したい部分です。 (できれば,aaaaaもbbbbbも消したい) aaaaaとbbbbbは1行ですが, 不要データも必要データも,行数は一定ではありません。 何かいい方法はないでしょうか。 aaaaa 不要なデータ 不要なデータ bbbbb 必要データ 必要データ 必要データ aaaaa 不要なデータ bbbbb 必要データ aaaaa 不要なデータ 不要なデータ 不要なデータ bbbbb
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 横からお邪魔します。 VBAになってしまいますが、一例です。 データはA1セルからA列にあるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long, k As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1) = "bbbbb" Then k = i Do Until Cells(k, 1) = "aaaaa" k = k - 1 Loop Rows(k + 1 & ":" & i).Delete End If If Cells(i, 1) = "aaaaa" Or Cells(i, 1) = "bbbbb" Then Rows(i).Delete End If Next i End Sub 'この行まで ※ 一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。 参考になりますかね?m(_ _)m
その他の回答 (6)
- MackyNo1
- ベストアンサー率53% (1521/2850)
- acha51
- ベストアンサー率41% (436/1042)
B1に式 =IF(A1="aaaaa","",IF(A1="bbbbb","",1)) と入力します B1を最終行までコピーします B列を選択しデータ →フィルター →オートフィルター設定します B1のフィルターリストをクリックし 1を選択すると不要行のみ表示 されるのでB列に 1のついた行を選択して削除します データを残す場合は 表示しない 設定をします
お礼
確かに,こうすれば簡単にできますね。 手軽に行うには,とても便利だと思いました。 どうもありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
>実際は数千行あるので, 回答した数式は、数千行程度でしたら持ちこたえます。いったいどんな操作をしてるんですか。 B2に式を記入したら、ふつーにB2セルの右下の小さい■をWクリックしてオートフィルさせてください。40秒ほど待つかもしれないので、お茶でも入れて一服しててください。 #数万行とかだとちょっと厳しいかもですけどね。 時折、無駄にいきなりシートの下端まで数式をぶっこんで勝手に自爆してる人もいるんで。 どーしてもできないなら、まず500行オートフィルドラッグして一旦安定するまで待ち、次はその500行ずつコピーしては貼り付けてください。
お礼
いろいろいじった状態だったので,リソース不足を起こしたようです。 エクセルに怒られてしまいました。 再起動したら,うまくいきました。 どうもありがとうございました。
- DownTown77
- ベストアンサー率46% (350/751)
こんばんは。 >aaaaaもbbbbbも消したい なら はじめに aaaaa セルをクリックする。 あとはCtrlキーを押しながら消したいデータを選択する。 最後に任意の選択したセル上で右クリックして削除を選択する。 データの数がいくつあるかわかりませんが、あまりに多いならVBAで削除マクロを作るしかないかと。
お礼
どうもありがとうございます。 数千行なるので,とてもctrlで選択することはできません。 マクロは覚え立てなので,とても自分でつくることはできず, webを検索しているところです。
- keithin
- ベストアンサー率66% (5278/7941)
A1に「データ」と記入し、A2以下に実際のデータを記入。 B1に「判断結果」と記入、 B2に =IF(COUNTIF($A$1:A1,"aaaaa")=COUNTIF($A$2:A2,"bbbbb")+1,"不要","") と記入、以下コピー オートフィルタを取り付けて「不要」を絞り出し、全体を選んで ○Deleteキーで削除します ○右クリックして「削除」して上に詰めます
お礼
どうもありがとうございます。 おっしゃる通りにやったつもりなんですが, B2以下の判定するセルがすべて真っ白になりました。
補足
A2セルをaaaaaにしたらうまくいきました。 実データはA2がbbbbbでした,大変失礼いたしました。 ただ,100行くらいでやったら成功したのですが,実際は数千行あるので, ハングアップしてしまいました・・・
- Cupper-2
- ベストアンサー率29% (1342/4565)
その1 並べ替えをしてから、それぞれまとめて削除。 その2 不要なデータを示すマークをどこかの列に作って、そのマークがある行だけを「オートフィルタ」で表示させる。 続いて Ctrl+G で「ジャンプ」を呼び出し「セルを選択」から 「アクティブ セル領域」を選んで、今 表示されているセル(行)を選択した後 思う存分削除する。 好きなほうを選んでください。
お礼
ご連絡,ありがとうございます。 その1 aaaaaやbbbbbや1行しかないですが,必要なデータも不要なデータも何行あるか分からないので, 並べ替えをするのは難しい気がします。 その2 不要なデータを示すマークをいれようにも,大量にあるので手作業で入れるのは困難です。
お礼
大変助かりました。 ばっちり動きました。 途中まで組んで,どうしようもなくなっていたので,大変嬉しいです。 教えていただいたマクロ,これから勉強して理解しようと思います。 どうもありがとうございました。