【问题标题】:How do I extract a value in excel that meets multiple row and column criteria?如何在excel中提取满足多行多列条件的值?
【发布时间】:2020-08-24 23:29:01
【问题描述】:

我有一个这样的工作表,A1:C14 每天记录不同罐的温度。

我想制作一个excel公式或vba宏,可以拉出每个罐子的最新温度,以便我可以在E1:G6中填写一个新表?

如何编写能够:

  1. 找到正确的坦克
  2. 查找测量每个储罐的最新日期
  3. 给出所选罐的温度值

我尝试应用这个公式,但变得更加困惑:

=INDEX(,SMALL(IF(COUNTIF(,),MATCH(,),""),ROWS),COLUMNS)

谢谢大家!

【问题讨论】:

  • 看看XLOOKUP with search_mode = -1
  • 我的 Excel 中没有 XLOOKUP

标签: excel vba excel-formula lookup


【解决方案1】:

如果A列中的日期按升序排序,则可以在单元格G2中使用以下公式并向下复制。

=LOOKUP(2,1/(B:B=E2),C:C)

查看this article 了解类似信息。

【讨论】:

    【解决方案2】:

    这是解决您的问题的一个相当快速的尝试..

    首先,确保您的日期值实际格式化为日期(即 08/20/2020)

    然后在 F 列中您可以使用:

    =MAX(IF($B$2:$B$15=$E2,$A$2:$A$15))

    查找每个罐读取的最新日期。

    然后在 G 列中使用:

    =INDEX($C$2:$C$14,MATCH(1,IF($A$2:$A$14=$F2,IF($B$2:$B$14=$E2,1)),0) )

    查找每个罐在最近读取日期的值。

    我建议您使用范围,以便您可以插入行并自动增加日期范围等。

    将上面的两个单独的公式组合成一个可能并不难。但是这样你就可以看到正在发生的事情,我认为每个坦克的最新读取日期可能有用吗?

    【讨论】:

      【解决方案3】:

      如果日期未排序,您可以使用 INDEX / AGGREGATE 函数:

      =INDEX($C$2:$C$14,AGGREGATE(14,6,(AGGREGATE(14,6,($A$2:$A$14)*($B$2:$B$14=E2),1)=$A$2:$A$14)*(E2=$B$2:$B$14)*ROW($C$2:$C$14)-1,1))
      

      【讨论】:

        【解决方案4】:

        您还可以使用用户定义的函数。

        Function myTemp(s As Range)
            Application.Volatile
            Dim vDB
            Dim myS As Single
            Dim myDay As Date
            Dim i As Long, r As Long
            
            vDB = Range("a1", Range("c" & Rows.Count).End(xlUp))
        
            r = UBound(vDB, 1)
            For i = 2 To r
                If vDB(i, 2) = s Then
                    If vDB(i, 1) >= myDay Then
                        myDay = vDB(i, 1)
                        myS = vDB(i, 3)
                    End If
                End If
            Next i
            myTemp = myS
        End Function
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-08
          • 1970-01-01
          • 1970-01-01
          • 2020-03-31
          • 1970-01-01
          相关资源
          最近更新 更多