- 締切済み
エクセルで不要な行を一括削除できますか?
いつもお世話になります。 OSはWINのXP。オフィスもXPを使用 しております。 セルのA-1に「あ」 セルのB-1に「い」といったデータが羅列されて います。(行の2~) このデータをセルC-1に&を使って 「あい」という形式のデータに変えたのですが、 1行飛ばしで不要なデータも入ってしまいます。 不要なデータを、すべて空白にしたいのですが 何か関数で簡単に出来ないモノでしょうか? 今は1行飛ばしでctlで複数選択して 削除しているのですが。。。。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- yuusukekyouju
- ベストアンサー率22% (21/94)
不要なデータだけを削除するのですか、それとも不要なデータの入った行ごと削除するのですか。 (1)不要なデータだけを削除する場合で、そのデータだけを空白に置き換える。 例えば不要なデータにだけrという文字がはいっている場合検索する文字列を*r*とし置換える文字列を空白とすれば不要データはすべて空白と成ります。ただし空白としたくないセルのデータにも同じ文字があれば当然同時に空白となります。また行は削除されません。 (2)データの入力していない列に削除したいデータのある行だけに共通する数字を入れます。 例えば1行おきに削除したいデータがある時は1.2.1.2・・というように、3行ごとにある場合は1,2,3,1,2,3・・・というように数字をいれ、先頭行に「データ」「フィルタ」「オートフィルタ」を設定し、数字をいれた列のフィルタで削除したいデータだけを表示できます。 こうすれば、削除したいデータのみ、またはその行も一緒に削除できます。
- imogasi
- ベストアンサー率27% (4737/17070)
こんな風にやって見ました。シートを1枚挿入します。 または使っていないシートを使います。このシート名をSheet2とします。 もとデータがSheet1にあるとします。 Sheet2のA1に =IF(MOD(ROW(),2)=0," ",Sheet1!A1) と入れます。A1の式をA列方向に複写します。 A1の式をB1から右にデータの終わる列まで複写します。 A1:○1を下方向にデータの終わる行まで複写します。 1行おきに飛び飛びに残ります。 後は値の複写でSheet2の式を全部消してください。
お礼
お礼が遅くなりました。 参考にします。 ありがとうございました。
- a00000a
- ベストアンサー率25% (1/4)
質問の意味が良くわかりませんが 1行とびに削除するだけなら 1.作業用の列を2列作成 (1)左端に2列挿入する 2.今の並び順を登録する (1)a列に1からの番号を割り振る 1,2,3,4,5・・・ 3.削除するか残すかの識別コードをつける (1)b列に識別番号を入力 ・1行目に「0」 ・2行目に「1」など (2)そのセル(0と1)を対象の行までコピー。 4.b列でデータを並べ替える。 5.削除するデータが集約されます。 たとえばb列が「0」なら その範囲を一括で範囲指定して、行ごと削除。 6.a列でデータを並び替える。 7.a列を削除すれば、元通り。 てな感じでどうでしょーか。
お礼
お礼が遅くなりました。 参考にします。 ありがとうございました。
- ja7awu
- ベストアンサー率62% (292/464)
この内容から推測すると、「データ範囲を1行おきに(3行目~)クリアしたい」 というように解釈しました。 確認ですが、完全に「1行おき」ですね。 もし、そうであれば、次のようなマクロを実行すると瞬時にクリアされます。 一応、詳しく操作手順を書きますので、バックアップを取った上でテストして みてください。 【 操作手順 】(ご存知でしたら読み飛ばしてください。) 1.Alt + F11 で VBE(Visual Basic Editor)を開きます。 2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。 3.モジュールウィンドウに下記コード(10行)をコピーして貼り付けます。 (Option Explicitがあればその下付近に) 4.必要により、2~3行目の指定値を変更します。 5.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 6.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で 「隔行クリア」を指定し、[実行]ボタンを押します。 Sub 隔行クリア() Const Kisuu_Gusuu = 1 ' <--- 奇数行クリア=1 , 偶数行クリア=0 Const DataTopRow = 2 ' <--- データのトップ行を指定 Dim Row As Long For Row = DataTopRow To Range("A65536").End(xlUp).Row + 1 If Row Mod 2 = Kisuu_Gusuu Then Rows(Row).ClearContents End If Next Row End Sub 趣旨が違うようでしたら、詳しい状況の補足が必要と思います。
お礼
お礼が遅くなりました。 参考にします。 ありがとうございました。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 Excelでは、「A、B、C」というのは列番号です。 したがって質問の通りだと、 A1に「あ」 その"右隣"のB1に「い」 さらにその"右隣"のC1に「=A1 & B1」(「あい」) ということになり、 >1行飛ばしで不要なデータも入ってしまいます。 の意味がわかりません。 どういう表になっているのでしょうか。
お礼
お礼が遅くなりました。 参考にします。 ありがとうございました。
お礼
お礼が遅くなりました。 参考にします。 ありがとうございました。