- ベストアンサー
【エクセル】空セルを埋める方法
- お世話になります。下記のような表があります。空セル部分を効率的に埋める方法を教えてください。
- 空セルを埋める方法として、【ctrl+↓】 ⇒【↑】⇒【ctrl+D】を繰り返す方法がありますが、もっと効率的な方法を知りたいです。
- 空セルを埋める方法を教えてください。現在は【ctrl+↓】 ⇒【↑】⇒【ctrl+D】を使って埋めていますが、他に効率的な方法があれば教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
質問文中のキー操作はShiftキーを押すのを省略されているようですが、一般的にはこうですね。【Shift+Ctrl+↓】 ⇒【Shift+↑】⇒【Ctrl+D】 私なら、簡単な関数とExcelの機能を使います。 空白のセルを選択してさらにその中で一番上のセルが選択された状態で、「=上のセル」といった数式を1つだけ入力してから【Ctrl+D】とします。 空白がたくさんあるのでしたら、「ジャンプ」で空白セルを選択するとよいでしょう。空白セルのある列を選択しておき、【Ctrl+G】でジャンプメニューになりますから、「セル選択」ボタンを押して「空白セル」を選んで「OK」ボタンを押します。これで上手に空白セルが選択されると思います。 都合よく一番上の空白セルが選択されているので、上記の数式を入力して【Ctrl+D】キーを押すと綺麗に埋まりますよ。 数式があってはいけないのでしたら、空白を埋めた列をコピーして、「形式を選択して貼り付け」から「値」を選ぶと数式は消えて値だけが残ります。 ジャンプ(空白セルを選択) =上のセル(数式) 先頭のセルのコピー(数式をコピー) 形式を選択して貼り付け(数式を削除) 参考にしてください。
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
- yy_kd
- ベストアンサー率25% (5/20)
A列に空欄があって、B列は必ずデータが存在するのであれば マクロで以下の様にしたらいかがでしょうか? セルAが空白だったら、前の行の値をそのまま記入します。 Sub Macro1() '動作の開始行を指定します 下記の1の部分 y=1 while cells(y,"B")>"" if cells(y,"A")="" then cells(y,"A")=cells(y-1,"A") end if y=y+1 wend End Sub
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAでやれば簡単ですが、関数での方法の一例です。 お示しの配置として・・・1000行目まで対応できる数式です。 E1セルに =IF(COUNTA(A$1:A$1000)<ROW(A1),"",INDEX(A$1:A$1000,SMALL(IF(A$1:A$1000<>"",ROW($A$1:$A$1000)),ROW(A1)))) これは配列数式になりますので、この画面からE1セルにコピー&ペーストの後に F2キーを押す、またはE1セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをH1セルまでオートフィルでコピーの後そのまま下へずぃ~~~!っとコピーして見てください。 そしてE~H列すべてを範囲指定 → 右クリック → コピー → A列を選択 → 「形式を選択して貼り付け」 最後にE~H列を削除して完了です。 尚、余計なお世話かもしれませんがVBAでの場合は 操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 尚、一旦マクロを実行すると元に戻せませんので、別Sheetで試してみてください。 Sub test() 'この行から Dim i, j, k As Long k = ActiveSheet.UsedRange.Rows.Count For i = k To 1 Step -1 For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column If Cells(i, j) = "" Then Cells(i, j).Delete (xlUp) End If Next j Next i End Sub 'この行まで 参考になれば良いのですが・・・m(__)m
お礼
ご回答ありがとうございました! >を選択しておき、【Ctrl+G】でジャンプメニューになりますから、 >「セル選択」ボタンを押して「空白セル」を選んで「OK」ボタンを押します。 >これで上手に空白セルが選択されると思います。 この手順は把握していたのですが、ここでctrl+Dが上手にコピーされる事は知りませんでした。 みなさんからの回答もとても参考になりましたが お手軽感と私の知っている手順に一手間加えるだけで出来た事から Loraさんをベストアンサーとします。 ありがとうございました。