Excel提取A/B列非空值至C列的实现方法求助
Excel提取A/B列非空数据到C列的解决方案
方法1:基础公式法
- 适合普通用户,操作简单
- 在C1单元格输入公式:
=IF(A1<>"",A1,B1) - 下拉填充公式到所有行,每行自动优先取A列非空值,A列空白则取B列内容
方法2:TEXTJOIN简化公式(Excel 2019及以后版本可用)
- 要是A、B列不会同时有数据,用这个更简洁的公式:
=TEXTJOIN("",TRUE,A1:B1) - 它会自动忽略空白单元格,直接提取非空的那个值
方法3:Power Query批量处理(大数据量首选)
- 选中A、B列的数据区域,点击「数据」选项卡 → 「从表格/区域」(记得勾选「我的表格有标题」)
- 在Power Query编辑器里,添加自定义列,输入公式:
=if [A] <> null then [A] else [B] - 点击「关闭并上载」,把处理好的数据导出到新工作表,再把自定义列复制到C列就行
方法4:VBA宏(适合重复操作场景)
按下Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:
Sub ExtractNonBlank() Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim i As Long For i = 1 To lastRow If ws.Cells(i, "A").Value <> "" Then ws.Cells(i, "C").Value = ws.Cells(i, "A").Value Else ws.Cells(i, "C").Value = ws.Cells(i, "B").Value End If Next i End Sub
运行宏就能自动填充C列
内容的提问来源于stack exchange,提问作者juzer vohra
相关产品推荐
相关产品推荐

