Excel 索引匹配以获取具有第二个条件的日期之前的值

Excel 索引匹配以获取具有第二个条件的日期之前的值,excel,Excel,考虑表x上的以下数据 Name, Date, Area Jon, 30/3/18, 1 Mo, 30/3/18, 1 Ti, 30/3/18, 2 Tai, 30/3/18, 2 在表格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)))} 现在这很

考虑
表x上的以下数据

Name, Date,    Area
Jon,  30/3/18,  1
Mo,   30/3/18,  1
Ti,   30/3/18,  2
Tai,  30/3/18,  2
表格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公式只选择有问题的日期。根据我在3月30日和3月31日的理解,mod公式

    {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, 

我想这就行了

  • 在单元格
    D1
    p.e.
    Results
  • 在单元格
    D2
    en中输入此公式,确认为数组公式

    ={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)),"")}
    
  • 我假设您的第二个标准(区域)在
    工作表中$B$1

  • 向下拖动公式
下面是我对标准1
F1
和标准2
F2
引用单元格的结果:


注:我假设(根据你问题的标题)你希望在标准1之前得到结果。如果一定是那个特定日期的结果,您可以将
更改为
=

,谢谢您的帮助-但是我无法让公式起作用-在开始尝试不同的排列之后,我想我可能知道原因。我会更新我的初始Q,这样就清楚了。@Data新手,在这种情况下,恐怕我不理解你的问题。也许你可以修改你的问题,让它更清楚。你有A)两个标准,B)第一个是单一日期,C)第二个是特定区域?现在,您是希望所有日期都在第一个标准之前,还是只希望记录符合该标准。别介意,我想出来了,您是一个绝对的传奇人物!很高兴我能帮上忙:)嘿,老兄,Q,当索引数据在不同的工作表上时,这为什么不起作用?在同一页上工作,但在另一页上不工作。。这让我抓狂,但这是我能看到的唯一变化(基本上A:C位于原始数据选项卡上,D:F位于动态页面上)