如何在Microsoft Excel中仅将A列手机号复制至空值B列(超500条数据)
批量将A列手机号填充到空B列的Excel操作方法
方法1:数组公式提取+批量填充
- 在B2单元格输入提取手机号的数组公式:
=IF(B2="",TEXTJOIN("",TRUE,IF(ISNUMBER(--MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),"")),B2) - 按Ctrl+Shift+Enter完成输入(Excel 365/2021版本直接按Enter即可)
- 选中B2单元格,双击右下角的填充柄,自动将公式应用到所有行
- 选中整个B列,按Ctrl+C复制,右键选择「粘贴选项→数值」,把公式结果转为固定值
方法2:VBA批量处理
- 按Alt+F11打开VBA编辑器
- 右键左侧工程面板中的当前工作簿名称,选择「插入→模块」
- 粘贴以下代码:
Sub FillEmptyBWithPhone() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim phone As String Set ws = ActiveSheet lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow If ws.Cells(i, "B").Value = "" Then '提取A列中11位数字手机号 phone = "" For Each seg In Split(ws.Cells(i, "A").Value, " ") If Len(seg) = 11 And IsNumeric(seg) Then phone = seg Exit For End If Next seg ws.Cells(i, "B").Value = phone End If Next i End Sub
- 按F5运行代码,自动完成所有空B列的手机号填充
方法3:快速填充(Excel 2013及以上可用)
- 在B2单元格手动输入A2单元格内的手机号
- 选中B2至B列最后一行的所有单元格
- 点击「数据」选项卡中的「快速填充」按钮,或直接按Ctrl+E
- 系统会自动识别提取规律,批量填充所有空B列的手机号
内容的提问来源于stack exchange,提问作者Navdeep.D2
相关产品推荐
相关产品推荐

