【问题标题】:Automation in Excel for shift patternsExcel 中的班次模式自动化
【发布时间】:2021-04-04 14:53:35
【问题描述】:

您好,我有以下两张表

我正在尝试获取col

我正在尝试自动化 Column E,以便每次单元格 D2 中的数据发生更改时,它都会根据当天分配的代理的班次模式自动更改。

我不能使用vlookup,因为它显然只会使用找到的第一个文本,例如9am-5pm - 所有单元格都将填充Agent 3

【问题讨论】:

  • 看不到不同的日期会如何影响您的结果。我们只看到一个您有约会的地方,它是D2

标签: excel excel-formula automation lookup


【解决方案1】:

=INDEX($A$2:$A$10,AGGREGATE(15,3,($B$2:$B$10=D3)/($B$2:$B$10=D3)*ROW($B$2:$B$10)-1,COUNTIF(D$3:D3,D3)))

作为 ZygD 答案的替代方法。

它使用聚合。它检查 B 列范围中的值是否等于 D 列中的值,然后将结果除以自身,如果为 True,则结果为 1,然后将其乘以行号。结果给出了所有 TRUE 的行号,并根据在上面的结果列表中已经找到多少相同的代理检查第 N 个最小值,最后在 A 列的值范围内显示该行的值。

【讨论】:

    【解决方案2】:

    似乎E3 中的这个数组公式部分符合您的要求(不是使用通常的 Enter 键输入的,而是使用 Ctrl + Shift + Enter )。

    =INDEX($A$2:$A$10,SMALL(IF(D3=$B$2:$B$10,ROW($B$2:$B$10)-ROW($B$2)+1),COUNTIF($D$3:D3,D3)))
    

    【讨论】:

      【解决方案3】:

      请改用 XLOOKUP()。列位置与此功能无关。

      【讨论】:

      • 你能说明 xlookup() 在这里是如何工作的吗?
      • XLOOKUP 将返回第一个或最后一个匹配项。要获得第二或第三场比赛,XLOOKUP 需要与 ZygD 的解决方案一样多的额外公式帮助。
      • 我没有足够仔细地阅读情况。 XLOOKUP 遇到与 VLOOKUP() 相同的问题。
      猜你喜欢
      • 1970-01-01
      • 2015-03-04
      • 2021-05-16
      • 2014-11-15
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      相关资源
      最近更新 更多