代码之家  ›  专栏  ›  技术社区  ›  user4100980

具有多个条件的索引匹配,这些条件在不使用数组的情况下不是完全匹配的

  •  0
  • user4100980  · 技术社区  · 6 年前

    我试图在不使用数组的情况下重写以下内容(当前处理时间非常慢,在本工作簿中几乎不可能执行任何操作):

    {=INDEX('Sheet1'!$F:$F,MATCH(1,('Sheet2'!$C5='Sheet1'!$C:$C)*('Sheet2'!$F5='Sheet1'!$E:$E)*('Sheet1'!$A:$A>='Sheet2'!$A5)*('Sheet1'!$A:$A<='Sheet2'!$B5),0))}
    

    表1:A=开始日期;C=名称;E=项目;F=小时

    表2:A=开始日期;B=结束日期;C=名称;F=项目

    我考虑过将“开始日期”串联起来名称“&”但这行不通,因为两张工作表之间的日期不一定完全匹配-工作表1的开始和结束日期通常在工作表2的开始和结束日期范围内,但并不总是包含相同的精确范围。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Scott Craner    6 年前

    =SUMIFS('Sheet1'!$F:$F,'Sheet1'!$C:$C,'Sheet2'!$C5,'Sheet1'!$E:$E,'Sheet2'!$F5,'Sheet1'!$A:$A,">=" & 'Sheet2'!$A5,'Sheet1'!$A:$A,"<=" &'Sheet2'!$B5)