- ベストアンサー
空白セルのある行を削除する関数をご教示下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 一例です。 ↓の画像の配置で説明します。 F2セルに =IF(COUNTA($B$2:$B$1000)<ROW(A1),"",INDEX(A$2:A$1000,SMALL(IF($B$2:$B$1000<>"",ROW($A$1:$A$999)),ROW(A1)))) これは配列数式になってしまいますので、この画面からF2セルにコピー&ペーストしただけではエラーになると思います。 貼り付け後、F2キーを押す、または貼り付けセルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーした後に、日付の列は表示形式を「日付」にします。 尚、元データが空白の場合は「0」が表示されますので、 当方使用のExcel2003の場合ですが メニュー → ツール → オプション → 「表示」タブで 「ゼロ値」のチェックを外せば 0は表示されなくなります。 数式は元データの1000行目まで対応できるようにしていますが データ量によって範囲指定の領域はアレンジしてみてください。 以上、長々と書きましたが 参考になれば幸いです。m(__)m
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
関数ではセル、行、列の削除、シートの削除は出来ません。エクセル関数の常識。 関数では書式のコピーも出来ないです。いま在る列に望みの「セルの値」を与えるよう仕組むだけです。 ーーー 実質削除に相当する、空白で無い行を、別のシートに値を代入する、ことしか出来ない。 書式は消えるので、手作業で再設定が必要。 ーー その方法は作業列として1列使い、C列の値にもとづいて、 例データ Sheet1 A,B列など簡単のため省略 C列 F列(空き列、作業列) a 1 s 2 d 3 f 4 g 5 F2の式は=IF(C2="","",MAX($F$1:F1)+1) 下方向に式を複写する・ 結果は上記 Sheet2に行って C2セルに=INDEX(Sheet1!$A$1:$E$10,MATCH(ROW()-1,Sheet1!$F$1:$F$10,0),COLUMN()) を入れて下方向に式を複写する。 A列、B列でもそのまま貼り付けて良い。 10行までとしている式だが適当に増やした式にする。 Googleで「imogasi方式」で照会すれば沢山例が出る。 実はこの質問は、「空白でない行」の抜き出し問題なんだ。
お礼
回答いただき、ありがとうございました。 参考にさせていただきました。
- mar00
- ベストアンサー率36% (158/430)
C列を選択後、編集→ジャンプ→セル選択→空白セル を選択して行を削除すれば、よいかと思います。
お礼
回答いただき、ありがとうございました。 参考にさせていただきました。 エクセルの利用の幅がひろがりました。
お礼
ありがとうございました。 まさに期待通りの回答を頂きました。 大変助かりました。 当然ですが、BAです。