【问题标题】:Show the date (Column Title) in which a specific number occurs显示特定数字出现的日期(列标题)
【发布时间】:2016-12-08 00:04:46
【问题描述】:

我已经进行了几天的研究,试图自己解决这个问题。我有一个我创建的电子表格,它将跟踪已完成的项目及其完成日期。

问题是:我正在处理大约 400 辆公共汽车。我需要跟踪维修何时完成。包含的图像将显示迄今为止的工作表。底部的数字(101、102、103 等)将用作总线编号。然后我需要乘坐完成的巴士,并在单独的表格上跟踪它们的完成日期。

基本上,无论在哪里出现 Bus 101,我都希望在另一个 Excel 选项卡上自动填写列顶部的日期。

Daily Bus Checklist

【问题讨论】:

  • 必须像这样将公交车号分成5行,这真的很难......

标签: excel excel-formula


【解决方案1】:

用于计算前 5 行,一旦掌握了要点,就可以在接下来的 5 行中重复。

=IFERROR(INDEX(Summary!2:2,MATCH(B1,Summary!12:12,0)),IFERROR(INDEX(Summary!2:2,MATCH(B1,Summary!13:13,0)),IFERROR(INDEX(Summary!2:2,MATCH(B1,Summary!14:14,0)),IFERROR(INDEX(Summary!2:2,MATCH(B1,Summary!15:15,0)),IFERROR(INDEX(Summary!2:2,MATCH(B1,Summary!16:16,0)),"")))))

当您的主选项卡以这种方式布置时,我横向完成了数据,如果您需要,很乐意进行调整。

【讨论】:

    【解决方案2】:

    假设 Bus 101 始终位于第 12 行,根据您的工作表的外观,但如果将其分布在 5 行中,则可以对其进行修改:

    Sub test()
    Dim ws As Worksheet
    Dim i As Long, lastColumn As Long, vNumber As Integer, o As Long
    Dim vDate() As Double
    
    Set ws = ActiveSheet
    With ws
        lastColumn = .Cells(2, 255).End(xlToLeft).Column
        vNumber = Application.WorksheetFunction.CountIf(.Range(.Cells(12, 5), .Cells(12, lastColumn)), 101)
        ReDim vDate(1 To vNumber)
        o = 1
        For i = 5 To lastColumn
            If .Cells(12, i) = 101 Then
                vDate(o) = .Cells(2, i).Value
                o = o + 1
            End If
        Next i
    End With
    
    End Sub
    

    有了这个,你就有了一个日期数组。我不确定你是否需要帮助来把它放在工作表上等等......

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 1970-01-01
      • 2016-11-26
      • 2013-07-02
      相关资源
      最近更新 更多