You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中将无userName的姓名列表提取至其他工作表

提取userName列为空的姓名并导入Sheet13操作方法

零代码快速操作(适合一次性提取场景)

  • 打开存放源数据的工作表,选中包含姓名、userName字段的全部数据范围
  • 点击顶部「数据」选项卡,点「筛选」按钮给每列表头加上筛选下拉控件
  • 点击userName列表头的下拉箭头,取消全选后仅勾选「空白」选项,确认后页面将仅展示userName为空的行
  • 选中筛选后展示的所有姓名单元格,按快捷键Alt+;定位可见单元格(避免复制到隐藏的非目标行),再按Ctrl+C复制
  • 切换到Sheet13,选中姓名列表要放置的起始单元格,按Ctrl+V粘贴即可完成导入

小提示:如果操作时发现粘贴出了不符合条件的内容,基本都是没定位可见单元格导致把隐藏行带过去了,重新按Alt+;定位后再复制即可

函数自动同步(适合源数据会动态更新的场景)

如果后续源数据会新增、修改,想要Sheet13自动同步符合条件的姓名,不需要重复手动操作,可以用函数实现:

  • 切换到Sheet13,在姓名列表的起始单元格(例如A1)输入以下公式:
=FILTER(源数据!A:A,源数据!B:B="","无匹配结果")
  • 将公式中源数据!A:A替换为实际存储姓名的列,源数据!B:B替换为实际存储userName的列,按回车后会自动批量填充所有符合条件的姓名,后续源数据变动时结果会自动更新。如果使用的Excel版本不支持FILTER函数,可以用INDEX+SMALL+IF组合数组公式实现同等效果。

VBA一键执行(适合需要频繁重复提取的场景)

如果需要定期做这个提取操作,可以用宏代码一键完成,不用每次手动筛选:

  1. 按快捷键Alt+F11打开VBA编辑器,在左侧工程栏右键点击当前工作簿名称,选择「插入」-「模块」
  2. 在弹出的代码编辑区粘贴以下代码:
Sub 提取空用户名姓名到Sheet13()
    Dim sourceSht As Worksheet, targetSht As Worksheet
    Dim lastRow As Long, i As Long, tRow As Long
    ' 可自行修改引号内的源工作表名称
    Set sourceSht = ThisWorkbook.Worksheets("源数据")
    Set targetSht = ThisWorkbook.Worksheets("Sheet13")
    ' 清空Sheet13原有旧数据
    targetSht.Cells.Clear
    tRow = 1
    ' 示例中userName在B列、姓名在A列,可根据实际列号修改
    lastRow = sourceSht.Cells(sourceSht.Rows.Count, "B").End(xlUp).Row
    For i = 2 To lastRow
        If Trim(sourceSht.Cells(i, "B").Value) = "" Then
            sourceSht.Cells(i, "A").Copy targetSht.Cells(tRow, "A")
            tRow = tRow + 1
        End If
    Next i
End Sub
  1. 根据自己表格的实际情况修改代码里标注的源表名、列号,按F5运行即可自动完成提取导入,后续需要更新时直接运行这个宏就行。

内容的提问来源于stack exchange,提问作者CressyDonut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 16:51:25