Excelで空白ではないセルのみをコピーして貼り付けるにはどうすればよいですか?
データのリストをコピーする際に、いくつかの空白セルが含まれている場合、それらを別の列に貼り付けると、空白セルも一緒に貼り付けられてしまうという問題に悩まされている方は多いでしょう。特に、空白セルが必要なく、空白ではないセルだけを貼り付けたい場合には非常に煩わしいです。このような場合、Excelで素早く簡単に空白ではないセルだけをコピーして貼り付けるにはどうすればよいでしょうか? 以下にその解決策をいくつかご紹介します:
「移動」コマンドを使用して空白ではないセルのみをコピーして貼り付ける
Kutools for Excelを使用して空白ではないセルのみをコピーして貼り付ける ![]()
フィルター機能を使用して空白ではないセルのみをコピーして貼り付ける
配列数式を使用して空白ではないセルのみをコピーして貼り付ける
VBAコードを使用して空白ではないセルのみをコピーして貼り付ける
「移動」コマンドを使用して空白ではないセルのみをコピーして貼り付ける
「移動」コマンドを使用すると、最初にすべてのデータを選択し、その後コピーして別の場所に貼り付けることができます。
1. 使用したいデータリストを選択します。

2. 次に [ ホーム] > [検索と選択] > [移動] をクリックします。スクリーンショットをご覧ください:

3. 「移動」ダイアログボックスで「定数」オプションをチェックします。スクリーンショットをご覧ください:

4. [OK] をクリックすると、リスト内の値を持つセルのみが選択されます。

5. そして、データを目的の場所にコピーして貼り付けます。これにより、空白ではないセルの値のみが貼り付けられます。スクリーンショットをご覧ください:

注釈: この方法は定数に対してのみ利用可能であり、数式セルには適用されません。
Kutools for Excelを使用して空白ではないセルのみをコピーして貼り付ける
上記よりも簡単な方法があるのでしょうか?もちろん、Kutools for Excelの「空白でないセルを選択」機能を使用すると、まず空白でないセルを選択し、その後コピーして貼り付けることができます。
Kutools for Excelを無料でインストール した後、以下の手順を実行してください:
1. セル範囲を選択し、次にクリックします。 Kutools > 選択 > 空白でないセルを選択スクリーンショットをご覧ください:
2. これで空白でないセルが選択されたので、 Ctrl + C を押してコピーし、次に貼り付け結果を出力したいセルを選択して、 Ctrl + V を押して選択した空白でないセルを貼り付けます。スクリーンショットをご覧ください:
フィルター機能を使用して空白ではないセルのみをコピーして貼り付ける
フィルター機能を使用すると、まず空白でないセルをフィルタリングし、その後必要に応じて他のセルにコピーして貼り付けることができます。
2. [データ] > [フィルター] をクリックします。スクリーンショットをご覧ください:

3次に、選択したリスト内のセルの右隅にあるドロップダウンボタンをクリックし、「 空白 」オプションをドロップダウンメニューからオフにします。スクリーンショットをご覧ください:
4. [OK] をクリックすると、すべての空白でないセルが次のスクリーンショットのようにフィルタリングされます:

5. 最後に、フィルタリングされたデータをコピーして必要な場所に貼り付けることができます。
注釈: この方法では、値と数式の両方が対象となります。
配列数式を使用して空白ではないセルのみをコピーして貼り付ける
空白ではないセルのみをコピーして貼り付けるには、次の配列数式を使用することもできます。
1. データの隣に、次の数式を空いているセルに入力します:
=LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX(A:A,SMALL(IF($A$1:$A$15<>"",ROW($A$1:$A$15)),ROWS($B$1:B1)))))

注釈: 上記の数式において、A1:A15は使用したいデータリストです。必要に応じて変更できます。
2. Shift + Ctrl + Enterキーを同時に押してから、セルB1を選択し、この数式を含む範囲まで塗りつぶしハンドルをドラッグすると、すべての空白でないセルの値が抽出されます。スクリーンショットをご覧ください:

3. これらは数式であるため、他の場所にコピーする際には値としてコピーして貼り付ける必要があります。
注釈: この数式は定数に対してのみ利用可能であり、数式セルには適用されません。
VBAコードを使用して空白ではないセルのみをコピーして貼り付ける
VBAコードに興味がある場合は、次のコードを実行してこのタスクを完了することができます。
1. ALT + F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。
2. 挿入 > モジュール をクリックし、モジュールウィンドウに次のコードを貼り付けます。
VBAコード: Excelで空白ではないセルのみをコピーして貼り付ける
Sub PasteNotBlanks()
'Update 20140325
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
If InputRng.Columns.Count > 1 Then
MsgBox "Please select one column."
Exit Sub
End If
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
InputRng.SpecialCells(xlCellTypeConstants).Copy Destination:=OutRng.Range("A1")
End Sub
3. F5キーを押してこのコードを実行すると、使用したいデータ範囲を選択するように促すメッセージボックスが表示されます。スクリーンショットをご覧ください:

4. [OK] をクリックすると、データを配置するセルを選択するためのもう一つのメッセージボックスが表示されます。

5. [OK] をクリックしてこのコードを終了すると、指定した位置に空白でないセルの値のみが貼り付けられます。
注釈: このコードは定数に対してのみ利用可能です。
最高のオフィス生産性ツール
| 🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
| 人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
| スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
| 高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
| 列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
| 注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
| トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!