如何在Excel中组合索引、小、行和匹配函数?
我有下面的函数可以很好地工作,但是它返回的数据不是我想要的如何在Excel中组合索引、小、行和匹配函数?,excel,excel-2007,excel-formula,Excel,Excel 2007,Excel Formula,我有下面的函数可以很好地工作,但是它返回的数据不是我想要的 =IF(COLUMNS($R$2:R2)<=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,3,FALSE),INDEX([Sample.xls]Sheet1!$G$2:$G$116,SMALL(IF([Sample.xls]Sheet1!$B$2:$B$116=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,1,FALSE),ROW([Sample.xls]
=IF(COLUMNS($R$2:R2)<=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,3,FALSE),INDEX([Sample.xls]Sheet1!$G$2:$G$116,SMALL(IF([Sample.xls]Sheet1!$B$2:$B$116=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,1,FALSE),ROW([Sample.xls]Sheet1!$B$2:$B$116)-ROW([Sample.xls]Sheet1!$B$2)+1),COLUMNS($R$2:R2))),0)
编辑
示例数据如下所示
Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9
1 Label System Name Total GB Available GB Server
1 Label System Name Total GB Available GB Server
1 Label System Name Total GB Available GB Server
然后,当我匹配结果工作表中具有相应标签的标签时,我将获取部分数据,例如总计。标签具有重复值,例如Windows根据我们的聊天记录,我认为您正在尝试执行以下操作: 如果我理解正确,这就像一个“复合SUMIF”。在这种情况下,您要做的是创建一个由
0
s和1
s组成的数组,对应于要包含/排除的行,然后对要求和的列执行一个SUMPRODUCT
现在我们可以使用数组公式来生成这样的数组。下面是一个简单的例子:假设这些单元格是A1:C6
:
label system space
one a 1
one b 2
one a 4
two b 8
two a 16
现在,我们可以创建一个“复合汇总表”,查看“标签”和“系统”,如下所示(假设它们以单元格A9
中的label
开头):
label system total space
one a 5
one b 2
two a 16
two b 8
在C10
中使用的公式是
=SUMPRODUCT(IF($A$2:$A$6=A10,1,0)*IF($B$2:$B$6=B10,1,0),$C$2:$C$6)
输入数组公式(CTRL-SHIFT-enter)。然后将其拖动到单元格C11-13。这将按照我的解释执行计算。您可以从这里进行润色
让我知道我的解释是否正确?嗨,你能提供样本数据和样本结果吗?谢谢。@L42-我已经包含了样本数据。结果是一个单一的值,例如2.5你引用了一列
B
和R
…但只显示了9列。你的示例中缺少什么?“它返回的数据不是我想要的。它返回的是什么?你能这样做以便我们能够真正复制你的问题吗?这2.5
从何而来?如果用你自己的话说,包括你正在努力完成的任务,这会有所帮助。大致如下”在B列中查找所有小于x的值;求和;在R列开始的表格中查找结果;“…”——显然,这不是你正在做的事情。我刚刚看了那个视频,我无法将它与你正在做的事情联系起来。你必须让你的问题更清楚。“标签上有重复的值,例如Windows。”“???对不起-不明白。这正是我要找的。唯一的缺点是,如果a或b有多个实例,则每个实例的空间都被视为总数。有没有办法避免这种情况?你说的“多个实例”是什么意思?”?这就是我们在这里看到的……我认为这是故意的。如果不是,那么您希望/期望在上述情况下的结果是什么(我在两列上进行聚合,因此a
的结果是5
(1+4
)。很抱歉没有明确说明。标签有多个实例,但在该实例中,给定标签的系统有多个实例,我不希望将这些值组合在一起。有没有办法单独处理这些值?@PeanutsMonkey我认为,如果您能提供一个带有一些va的示例电子表格,事情会变得更清楚尽可能接近您所拥有的值。否则,我认为您将得不到您想要的,或者我们将理解您试图描述的内容。请尝试上载一个。@Jerry是对的。在上面的示例中,您希望显示什么-以及如何显示。您希望值分别列在不同的列中吗?您想要两行吗?我们是否可以为您提供另一列这使得系统具有唯一性(例如“系统ID”)。但是如果根本没有聚合,为什么我们不显示整个表?是否有一个“从我的表中查找特定行”,其中“特定行”实际上与多个条件匹配?我想我理解了,但我又一次感到困惑。您希望最终如何使用它。。。
label system total space
one a 5
one b 2
two a 16
two b 8
=SUMPRODUCT(IF($A$2:$A$6=A10,1,0)*IF($B$2:$B$6=B10,1,0),$C$2:$C$6)