方法 1 – 手动删除空白单元格步骤: 将光标悬停至出现向下箭头>> 左键单击选择列,此处为C 列。 单击删除下拉菜单>>按删除工作表列。 按住CT……
方法 1 – 手动删除空白单元格步骤:
将光标悬停至出现向下箭头>> 左键单击选择列,此处为C 列。
单击删除下拉菜单>>按删除工作表列。
按住CTRL 键>>左键单击行号可选择多行,在本例中为行 7、 9、12 和 14 >> 选择删除工作表行选项。
删除 Excel 中的空白单元格并将数据向上移动。
方法 2 – 使用转到特殊命令步骤:
B4:E16 单元格 >> 单击查找并选择下拉菜单 >> 选择转到特殊项。
转到特殊窗口,点击空白按钮>>点击确定。
右键单击打开上下文菜单>>选择删除。
选中向上移动单元格选项以删除所有空白行。
选择空白列>>选择向左移动单元格选项>>按确定。
删除空白单元格,如下图所示。
方法 3 – 使用过滤器选项步骤:
突出显示B4:E16单元格>>移动到数据选项卡>>单击过滤选项。
单击任何向下箭头按钮>>选中空白选项>>输入确定按钮。
删除表格行以删除所有空白行。
单击向下箭头按钮>>选中全选选项>>单击确定。
选择空白列>>按删除工作表列。
结果应如下图所示。
方法 4 – 应用排序功能步骤:
选择B5:E16单元格>>导航到数据选项卡>>点击排序功能。
选择空白行>>使用CTRL + –(减号)键将其删除。
选择空白列>>按CTRL + –(减号)键删除该列。
您的结果应类似于下面的屏幕截图。
方法 5 – 使用查找选项步骤:
选择B5:E16单元格>>跳转到查找并选择下拉列表中的查找选项。
查找和替换,选中匹配整个单元格内容选项 >> 在查找范围字段中,选择值选项>> 按查找全部。
将最上面的结果按CTRL + A键选择全部>>点击关闭。
应用删除工作表行选项。
结果应显示在下面的屏幕截图中。
方法 6 – 合并高级筛选菜单步骤:
请按照下面所示的动画 GIF 中所示的步骤进行操作。
最终输出应如下图所示。
方法7 – 使用FILTER功能步骤:
I选择B4:E16单元格>>按CTRL + T插入Excel表格,如下所示。
继续进入表格设计选项卡>>将表格重命名为“Best_Sellers”。
移至F5单元格>>将公式插入公式栏。=FILTER(Best_Sellers,Best_Sellers[[Name ]]<>"" )FILTER(Best_Sellers,Best_Sellers[[Name ]]<>”” ) → 过滤范围或数组。这里,Best_Sellers是数组参数,而Best_Sellers[[Name ]]<>””是包含删除给定数组中空白行的参数。
方法 8 – 实施 PowerQuery 选项步骤:
如前所示插入 Excel 表格 >> 转到数据选项卡,然后单击来自表格/范围选项。
实时按照 GIF 所示的步骤进行操作。
移至关闭并加载下拉列表>>选择关闭并加载到选项。
选择现有工作表选项并选择F4单元格。
结果应如下面的屏幕截图所示。
如何使用 Excel VBA 删除空单元格并向上移动数据步骤:
导航到开发人员选项卡>>单击Visual Basic 按钮。
这将在新窗口中打开Visual Basic 编辑器。
转到插入选项卡>>选择模块。
从此处复制代码并将其粘贴到下面的窗口中。
Sub Delete_blank_cells()
With Range("B4:D16")
If WorksheetFunction.CountA(.Cells) > 0 Then .SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftUp
End With
End Sub
子例程有一个名称,这里是Delete_blank_cells()。使用With语句和Range属性设置数据集的范围。使用If语句和CountA函数检查单元格是否为空白,如果是空白,则使用Delete方法删除空白行。
单击运行按钮或按F5键执行宏。
结果应如下图所示。
如何删除 Excel 中的空白行并使用公式向上移动数据步骤:
将表达式复制并粘贴到 F5 单元格中。=IFERROR(INDEX(B:B,SMALL(IF(B$5:B$16<>"",ROW(B$5:B$16)), ROWS(B$5:B5))), "")B5:B16 单元格引用“Name”列。
ROW(B$5:B$16)→ 返回行的序列号。
输出 → {5;6;7;8;9;10;11;12;13;14;15;16}ROWS(B$5:B5) → 返回给定范围内的总行数。
输出 → 1IF(B$5:B$16<>””,ROW(B$5:B$16)) → 检查是否满足条件,如果TRUE则返回一个值,如果TRUE则返回另一个值如果FALSE,则值。这里,B$5:B$16<>”” 是检查 B5:B16 范围的 逻辑测试 参数对于空白。如果测试成立 TRUE(value_if_true 参数),则该函数返回 ROW(B$5:B$16) ,否则它返回FALSE(value_if_false参数)。
输出 → {5;6;FALSE;8;FALSE;10;11;FALSE;13;FALSE;15;16}SMALL(IF(B$5:B$16<>””,ROW(B$5:B$16)), ROWS(B$5:B5)) → 变为
SMALL({5;6;FALSE;8;FALSE;10;11;FALSE;13;FALSE;15;16}) → 返回数据集中第 k 个最小值。输出 → 5INDEX(B:B,SMALL(IF(B$5:B$16<>””,ROW(B$5:B$16)), ROWS(B$5:B5))) → 变为
INDEX(B:B,5) → 返回给定范围内行和列的交集处的值。在此表达式中,B:B 是数组 参数,即“Name ” 列。接下来,5 是指示行位置的row_num 参数。输出 → “喜新厌旧”IFERROR(INDEX(B:B,SMALL(IF(B$5:B$16<>””,ROW(B$5:B$16)), ROWS(B$5:B5))), “”) → <变成
IFERROR(“The Grass Always Greener”, “”) → 如果表达式有错误,则返回 value_if_error,否则返回表达式本身的值。这里,“喜新厌旧”是价值参数,“”是 value_if_error 参数。输出 → “喜新厌旧”
结果应如下图所示。