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

Excel中区域单元格含特定字符时如何拼接第二行对应列值

UDF修改操作指南

原函数取表头的逻辑绑定了第1行,你只需要把所有取标题文本的行号参数从1改成2即可,不需要改动其他判定逻辑。

可直接复用的适配版代码

Function GenStarMatchList(inputRng As Range) As String
    Dim outputStr As String
    Dim colIdx As Integer
    ' 遍历选中行的所有列
    For colIdx = 1 To inputRng.Columns.Count
        ' 判定当前单元格是否包含"*"
        If InStr(1, inputRng.Cells(1, colIdx).Value, "*") > 0 Then
            ' 核心修改:原代码此处行号为1,改为2即可匹配当前第2行的表头
            outputStr = outputStr & Cells(2, inputRng.Cells(1, colIdx).Column).Value & "; "
        End If
    Next colIdx
    ' 移除拼接末尾多余的分号和空格
    If Len(outputStr) > 0 Then
        outputStr = Left(outputStr, Len(outputStr) - 2)
    End If
    GenStarMatchList = outputStr
End Function

使用步骤

  • 按Alt+F11快捷键打开VBA编辑器,插入新模块后把上述代码粘贴保存
  • 回到工作表界面,在D3单元格输入公式=GenStarMatchList(A3:C3)
  • 选中D3单元格下拉填充到对应行,即可自动生成匹配结果,和示例效果完全一致:

D3单元格返回:Text1; Text3
D4单元格返回:Text2; Text3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:33:24