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

如何在Excel中识别Current列重复值并关联No. Feeders列值

两种动态实现Excel按Current值合并No. Feeders的方案

方案一:Excel动态数组函数(适合365/2021版本)

假设数据表头在第1行,No. Feeders列是A列,Current列是C列,数据行从第2行开始(可根据实际列调整):

  1. 提取唯一Current值:在空白单元格(如E2)输入公式,获取所有不重复的Current值:

    =UNIQUE(C2:C100)
    

    (将C100替换为你数据的实际最后一行,或直接用C:C但建议限定范围提升效率)

  2. 生成合并结果(带序号):在F2单元格输入以下动态数组公式,结果会自动溢出所有行,且数据变更时自动更新:

    =SEQUENCE(ROWS(UNIQUE(C2:C100))) & ". " & BYROW(UNIQUE(C2:C100), LAMBDA(x, TEXTJOIN(", ", TRUE, FILTER(A2:A100, C2:C100=x)) & "对应" & x & " A"))
    

    执行后会直接输出类似示例的格式:1. F4, F7, F11对应470.43 A

方案二:VBA自定义函数(兼容全版本Excel)

如果你的Excel版本不支持动态数组,可通过自定义函数实现动态更新:

  1. 按Alt+F11打开VBA编辑器,右键点击当前工作簿>插入>模块,粘贴以下代码:

    Function MergeFeedersByCurrent(currentRange As Range, feederRange As Range, currentValue As Variant) As String
        Dim cell As Range
        Dim feeders As String
        feeders = ""
        
        '遍历Current列,匹配对应值并合并Feeders
        For Each cell In currentRange
            If cell.Value = currentValue Then
                If feeders <> "" Then feeders = feeders & ", "
                feeders = feeders & feederRange.Cells(cell.Row - currentRange.Row + 1).Value
            End If
        Next cell
        
        '返回格式化结果
        If feeders <> "" Then
            MergeFeedersByCurrent = feeders & "对应" & currentValue & " A"
        Else
            MergeFeedersByCurrent = ""
        End If
    End Function
    
  2. 使用自定义函数:

    • 先在E列用=UNIQUE(C2:C100)提取唯一Current值(旧版本可手动去重或用高级筛选)
    • 在F2单元格输入公式,下拉填充至所有唯一值行:
      =MergeFeedersByCurrent(C2:C100, A2:A100, E2)
      
    • 若要添加序号,直接在公式前拼接序号,比如=ROW()-1 & ". " & MergeFeedersByCurrent(C2:C100, A2:A100, E2)
  3. 动态更新设置:确保Excel开启自动重算(文件>选项>公式>勾选「自动重算」),修改数据后结果会自动刷新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:42:50