首页 > 解决方案 > 索引匹配以获取具有第二个条件的日期之前的值

问题描述

考虑以下数据sheet_x

Name, Date,    Area
Jon,  30/3/18,  1
Mo,   30/3/18,  1
Ti,   30/3/18,  2
Tai,  30/3/18,  2

sheet_y我将在单元格中约会A2

30/03/18例如

我将使用以下公式在某个日期之前获取所有名称

{INDEX(sheet_x!A2:A4,SMALL(IF(sheet_x!B2:B4=A2,ROW(sheet_x!B2:B4))mod((row()-row(a2)),11)))}

现在这很棒 - 当我将其拖下时,它会返回该日期出现的所有名称,但我无法弄清楚如何在公式中添加第二个条件,该条件仅获取区域日期的所有名称我指定。有人知道该怎么做吗?

如果这是一个格式错误的问题,我们深表歉意——如果我能更好地表达这个问题,请告诉我。

编辑 :

我想按日期列出它的原因是创建一个日历,显示某个人何时度假,但使 Excel 电子表格动态化,以便用户可以选择他们的区域。

所以我有下面的日期表,我使用 if 公式只选择有问题的日期。mod 公式,据我了解在 3 月 30 日和 3 月 31 日

    {INDEX(sheet_x!A2:A4,SMALL(IF(sheet_x!B2:B4=A2,ROW(sheet_x!B2:B4))mod((row()-row(**b2**)),11)))} 
# B2 = Mar 31 a2 = Mar 30


Mar 30, Mar 31, April 01, 

标签: excel

解决方案


我认为这可以完成工作

  • D1在单元格pe中输入标题Results
  • 在单元格中输入此公式D2并确认为数组公式

    ={IFERROR(INDEX($A$2:$A$5,SMALL(IF(1=((--(Sheet_y!$A$1>$B$2:$B$5))*(--(Sheet_y!$B$1=$C$2:$C$5))),ROW($A$2:$A$5)-1,""),ROW()-1)),"")}
    
  • 我假设您的第二个标准(区域)在Sheet_y!$B$1

  • 向下拖动公式

在我的结果下方,引用了标准 1F1和标准2 的单元格F2在此处输入图像描述

PS:我假设(根据您的问题的标题)您想要在标准 1 之前获得结果。如果必须是该特定日期的结果,您只需更改>for a即可=


推荐阅读