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

如何实现表格中同一公司的applied列状态自动同步?

实现重复公司自动填充"applied"列的方法

方法一:用查找函数(无需编程)

假设你的公司名称在A列,"applied"列在B列,从第2行开始有数据:

  1. 选中B2单元格,输入以下公式(适合Excel 365/2021及以上版本):
    =XLOOKUP(A2,$A$1:A1,$B$1:B1,"")
    公式说明:向上查找当前公司在之前行的记录,找到就返回对应的"applied"值,没找到则留空。
  2. 把鼠标放在B2单元格右下角,当光标变成十字形时,下拉填充整个B列。

如果用的是旧版Excel(没有XLOOKUP),改用这个公式:
=IFERROR(VLOOKUP(A2,$A$1:A1,2,FALSE),"")
公式说明:用VLOOKUP查找匹配的公司,IFERROR用来避免找不到时显示错误值。

方法二:用VBA宏实现实时自动填充

如果希望输入公司名称时自动触发填充,不用手动下拉公式,可以用VBA宏:

  1. 右键点击工作表标签(比如「Sheet1」),选择「查看代码」。
  2. 在弹出的VBA编辑器中,粘贴以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim cell As Range
    Dim lastRow As Long
    
    ' 只监控A列(公司列)的输入变化
    If Not Intersect(Target, Me.Columns("A")) Is Nothing Then
        lastRow = Me.Cells(Me.Rows.Count, "A").End(xlUp).Row
        Set rng = Me.Range("A2:A" & lastRow)
        
        For Each cell In Target
            If cell.Row > 1 Then
                ' 查找当前公司在之前行的匹配记录
                Dim matchCell As Range
                Set matchCell = rng.Find(What:=cell.Value, LookIn:=xlValues, LookAt:=xlWhole, _
                                        SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
                
                If Not matchCell Is Nothing And matchCell.Row < cell.Row Then
                    ' 自动填充对应的applied值
                    Me.Cells(cell.Row, "B").Value = Me.Cells(matchCell.Row, "B").Value
                End If
            End If
        Next cell
    End If
End Sub
  1. 关闭VBA编辑器,回到工作表。现在只要在A列输入已存在的公司名称,B列会自动填充该公司之前的"applied"条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:11:05