返回非空 Cookies 及其数量

返回非空 Cookies 及其数量

我的工作簿中有两张工作表。第一张工作表名为 SalesPerson,应显示单元格 B1 中输入的销售人员的概要以及所售饼干的类型和数量。布局如下:
姓名:George
所售饼干:数量:

然后,我有一张名为 Sales Data 的第二个工作表,其中显示每个销售人员以及他们所售饼干的类型和数量。布局如下

.......Choc Chip....Vanilla....Lemon....etc
George  4            12          0
Bob                   3
Jerry                 4          1


假设在单元格 B1 中输入了名称 George,在标题 Cookies Sold 和 Quantity(以 A3 和 B3 开头)下,我希望返回以下内容

Choc Chip     4
Vanilla       12

有没有可以做到这一点的 excel 公式?我可以使用VLOOKUP或组合方法,Index(Match())如果 SalesPerson 包含所有可能的 cookie,则只需查找销售数量,但由于它没有返回什么选项两个都将 cookie 和计数 >= 1 添加到我的销售人员工作表中?

我曾经考虑过使用PIVOT TABLE,但这只是有助于深入研究数据,而不是将数据返回到我的销售人员工作表,而且我也考虑过使用该VLOOKUP()函数,但我只能让它返回一个值,而不是同时返回饼图类型和计数。

编辑
我可以用来=INDEX(A1:D6, 4, 3)返回计数,但是我怎样才能同时返回饼图呢?


我知道INDEX()MATCH()MATCH()当您同时拥有垂直和水平查找值时它会起作用,但是可以将其转置以返回水平值以及返回值吗?

答案1

首先让我们获取 cookie 列表。我们需要使用数组公式。在这种情况下,我使用的公式是 INDEX 内的 AGGREGATE()。我将“George”放在 A8 中,数据放在 A1:D4 中:

=IFERROR(INDEX($B$1:$D$1,AGGREGATE(15,6,(COLUMN($B$2:$D$4)-1)/(($A$2:$A$4=$A$8)*($B$2:$D$4<>0)*($B$2:$D$4<>"")),ROW(1:1))),"")

然后将该公式复制到足够多的行以覆盖所有可能的列表长度。

然后我使用标准的 INDEX/MATCH/MATCH 来查找数字:

=IF(A9<>"",INDEX($A:$D,MATCH($A$8,$A:$A,0),MATCH($A9,$1:$1,0)),"")

然后再次复制相同数量的行。

在此处输入图片描述

相关内容