重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセルで行を2行残して2行消すのやりたいのですができますか?









10
と列がある所を





10
というように2行飛ばしで消す消さないの連続をまとめてやりたいのですがどうすればできますか?
よろしくお願いします。

A 回答 (3件)

関数式を使ってSheet2に抜き出すことを考えます。


空き列(B列とします)に
=IF(MOD(ROW(A1)-1,4)>1,"",1)と入れて下へ複写します。
1
1


1
1


1
1
となります。
隣列に
=COUNT($B$1:B1)といれて下へ複写します。
1
2
2
2
3
4
4
4
5
6
この後Sheet1からSheet2に持っていくのは
Sheet2のA1に
=OFFSET(Sheet1!$A$1,MATCH(ROW(A1),Sheet1!$C$1:$C$10,0)-1,0)
といれ下へ複写します。
    • good
    • 0
この回答へのお礼

みなさんお礼が大変遅くなり申し訳ございませんでした。回答ありがとうございました。
実はまだ1つも試していませんがこれから試して行きたいと思います。
まとめてのお礼となりますがどうかご了承くださいませ。

お礼日時:2004/03/27 03:45

マクロを使うのは駄目ですか?



Private Sub CommandButton1_Click()
Dim i As Integer
Dim LastAdd As Integer
Dim DelCnt As Integer

'終端セルを取得
LastAdd = Mid(Range("A1").End(xlDown).Address, 4)
i = 1
DelCnt = 1
Do Until LastAdd < i

'行削除
If DelCnt = 3 Then
Rows(i & ":" & i + 1).Select
Selection.Delete Shift:=xlUp
'削除カウンタ初期化
DelCnt = 0

'カウンタ 設定
i = i - 1
End If

'終端セルを取得 ※削除すると終端セルアドが変わる為
LastAdd = Mid(Range("A1").End(xlDown).Address, 4)

'削除カウンタ 設定
DelCnt = DelCnt + 1

i = i + 1
Loop

End Sub

で2行飛ばし削除が出来るのですが…。
    • good
    • 0

原始的な方法ですが…。



作業列を2列用意します(A列、B列とします)
まず、A列に、0,1,2,3… と通し番号を振ります。
次に、B列の先頭に、“=IF(MOD(A1,4)<=1,0,1)”と入力してコピーすると、B列は0,0,1,1,0,0,1,1… となるはずです。

後は、B列、A列の優先順位で並べ替えた後、いらない部分をまとめて削除すればOKかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!