- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mar00
- ベストアンサー率36% (158/430)
A列とB列のデータを残して行いたいのであればほかの列に 一旦コピーをして並べ替えで数値の入っているセルをかためてから 列指定をしてから編集→ジャンプ→セル選択→空白セルで指定して 上方向にシフトで空白を削除してはどうでしょうか。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 配列数式になりますので、データ量が多い場合はあまりおススメできません。 ↓の画像でA列は数値だということでの方法です。 (文字列が含まれているのであれば、COUNTの部分をCOUNTAに変更してみてください。) とりあえず100行目まで対応できる数式です。 D1セルに =IF(COUNT($A$1:$A$100)<ROW(A1),"",INDEX(A$1:A$100,SMALL(IF($A$1:$A$100<>"",ROW($A$1:$A$100)),ROW(A1)))) として、Shift+Ctrl+Enterキーで確定です。 もしこの画面からコピー&ペーストするのであれば、貼り付け後、 F2キーを押す、又は数式バー内で一度クリック、又はD2セルでダブルクリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定です。 数式の前後に{ }マークが入り配列数式になります。 そして、D2セルを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 以上、長々と書きましたが 参考になれば幸いです。m(__)m
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルを選択してから「ホーム」タブから「並べ替えとフィルタ」で「昇順」を選ぶことでA列が空白の行が下方に並びますのでそれを削除してはどうでしょう。
- xls88
- ベストアンサー率56% (669/1189)
マクロの例です。 Dim myRng As Range Dim i As Long Set myRng = Range("A1", "A" & Range("C" & Rows.Count).End(xlUp).Row) Set myRng = myRng.SpecialCells(xlCellTypeBlanks) For i = myRng.Areas.Count To 1 Step -1 myRng.Areas(i).Resize(, 3).Delete Next i
お礼
ご親切にありがとうございます^^ 大変感謝しております!