我一直在尝试为一些不具备计算机知识的团队成员制作表格,而我本质上是想让它一键点击即可。我以为我可以做到...但是可惜的是,嵌套功能不如我以前想象的那么好。
我有此电子表格,我想在其中将数据放入黄色单元格。在下一张纸上,我有下表。我想要做的是使用公式用“请求分支的”帐号填充H4。现在,我目前已在单元格中填充了信息。实际上,它们具有下拉选项-从“帐户列表”表中拉出。结果,H4中的值将根据用户的需要不断变化-但必须在“帐户列表”表的范围内。
我尝试过的是here和enter link description here。我不断得到#Value或N / A的结果。我不知道自己在做什么错。我知道我需要将SUMIFS与VLookUp嵌套在一起,但是我不确定为什么它不起作用。
我为您提供两个可能解决方案。
1)第一个使用SUMPRODUCT函数。您可能以前从未见过这种表示法。
当范围像(B3:B8=G3)*(C3:C8=G4)
这样彼此相乘时,它们实际上变成了布尔参数。如果突出显示了代码的这一部分并按F9,则它将像这样:{0;0;0;0;1;0;0}
。这是两个条件都为TRUE的数组。因此,我们的分支是“ A”,而运营商是“ F”。在其余情况下,其中一个或两个都为假,导致零。
现在,如果您将此数组乘以带有帐号的范围,显然剩余的唯一数字将是一个乘以1的数字,因此您得到的答案但是请记住,如果您的帐号不是数字功能将失败!
[2)这就是为什么我们有使用=INDEX()
和=MATCH()
函数的第二种方法的原因。
[过度简化-INDEX
函数从指定位置(行和列)的数组中获取内容,而MATCH
函数获取数组中项的位置。
将范围用作多个条件的想法与第一个示例相同,但是这次当我们获得零和1的数组{0;0;0;0;1;0;0}
时,我们使用match函数来找到我们的条件在哪个位置交叉(如屏幕截图所示,它位于第五列,因为它位于整列D的第五行,所以match函数在{0;0;0;0;1;0;0}
数组中搜索1
并返回其在数组中的位置),因此我们的行。
知道要搜索的内容的位置,我们使用INDEX
函数在该位置抓取单元格的内容,因此=INDEX(D2:D8,MATCH(1, INDEX((B2:B8=G3)*(C2:C8=G4),0),0))
实际上是=INDEX(D2:D8, 5)
,这意味着INDEX
函数抓取第5行的内容范围为D2:D8
,即单元格D6
。
请尝试以下公式。
=INDEX(Table1[Account],SUMPRODUCT((Table1[Branch]=F$3)*(Table1[Carrier]=F$4)*ROW(Table1[Account]))-1)