多维查找(2行和1列),其中行标签不在行中

时间:2019-05-29 00:18:21

标签: excel excel-formula

我需要创建一个函数,该函数将根据三个条件填充项目Sheet2!G25:P25:项目类型,条件类型和日期。问题在于Sheet 1中的条件没有排列方便地使用VLOOKUPINDEX MATCH。我知道我应该列出无效的公式,但老实说,我什至无法接近。我主要从事SUMPRODUCT的变体,例如

=SUMPRODUCT((Sheet1!A3:A19=Sheet2!A25)*(Sheet1!D3:D19=Sheet2!B25)*(Sheet1!G2:P2=Sheet2!G23)*Sheet1!G3:P19) 

,但这显然不起作用,因为项目类型和条件类型与我需要的数据不在同一行。我一直在尝试的一种解决方法是OFFSETSUMPRODUCT项目类型和条件类型数组中找到的单元格的位置,但是OFFSET函数中的限制使我失望。例如,OFFSET函数的引用节不能是一个函数,即使该函数提取单元格位置(OFFSET(CELL("address",INDEX MATCH),0,0)也是如此。这样做的目的是欺骗SUMPRODUCT函数,使其认为2行条件在同一行上。你们在这些东西上都是天才,所以我确定我错过了一些东西。

=SUMPRODUCT((Sheet1!A3:A19=Sheet2!A25)*(Sheet1!D3:D19=Sheet2!B25)*(Sheet1!G2:P2=Sheet2!G23)*Sheet1!G3:P19)

enter image description here

1 个答案:

答案 0 :(得分:0)

好吧,以下内容基于您或您的示例对我有用。 这里的条件是您的项目和条件之间的行分隔始终相隔4行

工作表2上的公式是

{=INDEX(Sheet1!$A$1:$U$19,MATCH(1,(Sheet1!$A$1:$A$15=$A$3)*(Sheet1!$D$4:$D$18=$B$3),0)+1,MATCH(H1,Sheet1!$A$1:$U$1,0))}

这是一个数组公式,通过usind Ctrl + Shift + Enter输入它

在sheet1上,如果定位的数据与图片上的数据相同,则表示第一个日期在Sheet 1的H1中 在工作表2上输入的第一个公式在单元格H3中

我使用的“技巧”只是偏移第二个搜索数组:

  • 项目使用A $ 1:$ A $ 15
  • 条件使用$ D $ 4:$ D $ 18