跳至主要内容

如何在 Excel 中仅复制和粘贴非空单元格?

Author: Xiaoyang Last Modified: 2025-07-31

我们大多数人都可能遇到过这样的问题:当我们复制包含一些空白单元格的数据列表,然后将它们粘贴到另一列时,空白单元格也会被粘贴。这在我们不需要空白单元格而只想粘贴非空单元格时非常令人烦恼。在这种情况下,如何快速便捷地在 Excel 中仅复制和粘贴非空单元格呢?这里有一些快速技巧供您解决这个问题:

使用“定位条件”命令仅复制和粘贴非空单元格

使用 Kutools for Excel 仅复制和粘贴非空单元格 good idea3

使用筛选功能仅复制和粘贴非空单元格

使用数组公式仅复制和粘贴非空单元格

使用 VBA 代码仅复制和粘贴非空单元格


arrow blue right bubble 使用“定位条件”命令仅复制和粘贴非空单元格

通过“定位条件”命令,您可以先选择所有数据,然后将它们复制并粘贴到另一个位置。

1. 选择要使用的数据列表。

select the data list

2. 然后点击“ 开始” > “查找与选择” > “定位条件”,请参见截图:

screenshort of clicking Home > Find & Select > Go To Special

3. 在“定位条件”对话框中,勾选“常量”选项,请参见截图:

check Constants option in the Go To Special dialog box

4. 然后点击“确定”,列表中只有值单元格被选中。

all value cells are selected

5. 接着复制并将数据粘贴到想要的位置。并且只有非空单元格的值被粘贴。请参见截图:

copy and paste the data to another location

注意:此方法仅适用于常量,不适用于公式单元格。


arrow blue right bubble 使用 Kutools for Excel 仅复制和粘贴非空单元格

有没有比上述方法更简单的方式呢?当然有,Kutools for Excel“选择非空单元格”工具可以帮助您首先选择非空单元格,然后进行复制和粘贴。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

免费安装 Kutools for Excel 后,请按以下步骤操作:

1. 选择单元格区域,并点击 Kutools > 选择 > 选择非空单元格。请参见截图:
click Select Nonblank Cells feature of kutools

2. 然后非空单元格被选中,按下 Ctrl + C 进行复制,然后转到选择一个您想输出粘贴结果的单元格,按下 Ctrl + V 以粘贴所选的非空单元格。请参见截图:
copy and paste the selected nonblank cells to other place


arrow blue right bubble 使用筛选功能仅复制和粘贴非空单元格

筛选功能可以帮助您首先筛选出非空单元格,然后您可以根据需要将它们复制并粘贴到其他单元格中。

2. 点击“数据” > “筛选”,请参见截图:

screenshot of clicking Data > Filter

3。然后点击所选列表中单元格右上角的下拉按钮,并取消勾选 空白 选项。请参见截图:
uncheck the Blanks option from Filter feature

4. 然后点击“确定”,所有非空单元格都被筛选出来了,如下图所示:

 all the non-blank cells have been filtered out

5. 最后,您可以复制筛选后的数据并将它们粘贴到任何需要的位置。

注意:使用这种方法,数值和公式都会生效。


arrow blue right bubble 使用数组公式仅复制和粘贴非空单元格

要仅复制和粘贴非空单元格,您还可以应用以下数组公式。

1. 在您的数据旁边,在空白单元格中输入以下公式:

=LOOKUP("zzzzz",CHOOSE({1,2},"",INDEX(A:A,SMALL(IF($A$1:$A$15<>"",ROW($A$1:$A$15)),ROWS($B$1:B1)))))

enter a formula to get the first result

注意:在上述公式中,A1:A15 是您要使用的数据列表。您可以根据需要更改它。

2. 然后同时按下 Shift + Ctrl + Enter 键,接着选择 B1 单元格,并将填充柄拖动到您希望包含该公式的范围,所有非空单元格的值都已被提取出来。请参见截图:

drag and fill the formula to other cells to get all nonblank cell values

3. 因为它们是公式,当您将它们复制到其他地方时,应该将它们复制并粘贴为值。

注意:此公式仅适用于常量,不适用于公式单元格。


arrow blue right bubble 使用 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 键运行此代码,将弹出一个提示框,提醒您选择要使用的数据范围。请参见截图:

vba code to select the data list

4. 然后点击“确定”,另一个提示框将弹出,让您选择一个单元格放置数据。

vba code to select a cell to put the result

5. 点击“确定”完成此代码,并且只有非空单元格的值被粘贴到您指定的位置。

注意:此代码仅适用于常量。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!