希望这个头痛可以得到解决。我目前正在尝试使用多个条件来查找将执行vlookup的函数。类似于COUNTIFS函数的工作方式或数据透视表的函数版本。它可能与数组函数有关,但我无法弄明白。我认为描述我要做的事情的最好方法是举个例子:
Report Name User Name Report Category
Report 1 John Smith Sales
Report 1 Jack Black Sales
Report 1 Connie Rae Sales
Report 1 Brain Bonds Sales
Report 2 John Smith Sales
Report 2 Connie Rae Sales
Report 3 Jack Black Inventory
该功能的目标是能够将John Smith
作为一个标准,Sales
作为另一个标准,并记录他使用的报告。输出将在不同的工作表上,如下所示:
User Report Name Report Category
John Smith Report 1 Sales
Report 2 Sales
Connie Rae Report 1 Sales
Report 2 Sales
Brian Bonds Report 1 Sales
Jack Black Report 1 Sales
我要键入的名称,该功能将位于“报告名称”列中。已经玩了一段时间的功能,但没有运气。想我在这里继续玩的时候试试。
谢谢, 那个新手
答案 0 :(得分:1)
您要求的内容非常复杂,但如果您必须有公式...将此公式放在单元格 B2 中并将其复制下来。您需要使用 CTRL + SHIFT + ENTER :
输入此公式=IFERROR(LOOKUP(SMALL(IF(LOOKUP(REPT("Z",255),$A$2:INDEX(A:A,ROWS(A$1:A2)))=Sheet1!$B$2:INDEX(Sheet1!B:B,COUNTA(Sheet1!B:B)),IF(C2=Sheet1!$C$2:INDEX(Sheet1!C:C,COUNTA(Sheet1!C:C)),ROW(Sheet1!$A$2:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A)))-ROW(Sheet1!$A$2)+1)),COUNTIF(INDIRECT(ADDRESS(LOOKUP(9.99999999999999E+307,MATCH(A$1:A2,A$1:A2,0)),COLUMN()+1)&":"&ADDRESS(ROWS(A$1:A2),COLUMN()+1)),C2)),ROW(Sheet1!$A$2:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A)))-ROW(Sheet1!$A$2)+1,Sheet1!$A$2:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A))),"")
此公式假设两个工作表上的第一个标题位于单元格 A1 中,而两个工作表上的最后一个(第三个)标题位于单元格 C1 中。此外,公式引用“Sheet1”,因此您需要将其更改为实际的工作表名称。您可以使用下面的图像来排列公式:
有几点需要指出:
公式在引用数据表(Sheet1)时使用动态范围,这意味着您可以继续向表中添加数据。但是,您需要在用户表上重新构建表(带公式的工作表)作为数据添加。
该公式考虑到用户可能有多个报告类别(销售,库存等)。
请告诉我这是否适合您,如果您需要我调整任何内容。