• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル】空セルを埋める方法)

【エクセル】空セルを埋める方法

このQ&Aのポイント
  • お世話になります。下記のような表があります。空セル部分を効率的に埋める方法を教えてください。
  • 空セルを埋める方法として、【ctrl+↓】 ⇒【↑】⇒【ctrl+D】を繰り返す方法がありますが、もっと効率的な方法を知りたいです。
  • 空セルを埋める方法を教えてください。現在は【ctrl+↓】 ⇒【↑】⇒【ctrl+D】を使って埋めていますが、他に効率的な方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#180098
noname#180098
回答No.4

質問文中のキー操作はShiftキーを押すのを省略されているようですが、一般的にはこうですね。【Shift+Ctrl+↓】 ⇒【Shift+↑】⇒【Ctrl+D】 私なら、簡単な関数とExcelの機能を使います。 空白のセルを選択してさらにその中で一番上のセルが選択された状態で、「=上のセル」といった数式を1つだけ入力してから【Ctrl+D】とします。 空白がたくさんあるのでしたら、「ジャンプ」で空白セルを選択するとよいでしょう。空白セルのある列を選択しておき、【Ctrl+G】でジャンプメニューになりますから、「セル選択」ボタンを押して「空白セル」を選んで「OK」ボタンを押します。これで上手に空白セルが選択されると思います。 都合よく一番上の空白セルが選択されているので、上記の数式を入力して【Ctrl+D】キーを押すと綺麗に埋まりますよ。 数式があってはいけないのでしたら、空白を埋めた列をコピーして、「形式を選択して貼り付け」から「値」を選ぶと数式は消えて値だけが残ります。 ジャンプ(空白セルを選択) =上のセル(数式) 先頭のセルのコピー(数式をコピー) 形式を選択して貼り付け(数式を削除) 参考にしてください。

poponta_00
質問者

お礼

ご回答ありがとうございました! >を選択しておき、【Ctrl+G】でジャンプメニューになりますから、 >「セル選択」ボタンを押して「空白セル」を選んで「OK」ボタンを押します。 >これで上手に空白セルが選択されると思います。 この手順は把握していたのですが、ここでctrl+Dが上手にコピーされる事は知りませんでした。 みなさんからの回答もとても参考になりましたが お手軽感と私の知っている手順に一手間加えるだけで出来た事から Loraさんをベストアンサーとします。 ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です! 前回は大きく勘違いしていました。 No.1は無視してください。 他の方法の一例です。 ↓の画像で説明させていただきます。 データは2行目からとしています。 F2セルに =IF(COUNTBLANK($A2:$D2)=4,"",IF(A2="",F1,A2)) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 最後にF~I列すべてを範囲指定 → コピー → A列を選択 → 「形式を選択して貼り付け」 → OK これで希望に近い形にならないでしょうか? 何度も失礼しました。m(__)m

  • yy_kd
  • ベストアンサー率25% (5/20)
回答No.2

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)
回答No.1

こんにちは! 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

関連するQ&A