2016-11-24 62 views
3

我试图创建一个SUMIF函数,它在我的Excel工作表中的一个命名区域的特定列中动态地累加值。为SUMIF函数选择一个命名区域的特定列

这是很容易做到这一点时,有没有命名的范围:

enter image description here

公式挑选出所有包含“伦敦”,在他们的名字细胞和总结了与伦敦有关的费用。

我想要做的是使用一个名为TripsData(A2:B5)的命名区域,并告诉SUMIF函数对该范围的列2中的条目进行求和,以符合其名称中包含伦敦的标准。

如何在不需要为第2列创建第二个命名范围的情况下完成这项工作,并简单地告诉Excel查看该命名范围的指定列内?索引/匹配只返回一个值,因此当名称中有几个以伦敦为单位的单元格时不起作用。

感谢您的帮助!

回答

5

使用INDEX指一个特定的列命名范围内(它可以指一整列),这样

=SUMIF(TripsData,"*London*",INDEX(TripsData,,2)) 
+0

伟大的提示!我从来没有想过我可以将INDEX方法的第二个参数留空。 –

1

,没有任何指定范围可言,如果你把你可以做你数据导入Excel表格对象。选择范围或整个范围内的任何单元格,然后单击插入>表格或点击Ctrl - T

会出现一个对话框,询问你的表是否有标题。你的确如此。现在,你可以通过它们的固有名称引用表及其列,建立自己的公式是这样的:

=SUMIF(Table1[Expense],"*London*",Table1[Cost]) 

enter image description here

您可以重命名表,当然,即使在公式到位。当您单击表格中的单元格时,将会有一个新的功能区,用于仅与表格相关的命令。这是一个非常强大的工具。

任何适用于整个表格列的公式,格式等将自动转入新的表格行。当然,表格列参考也会自动调整,因此您不必混淆动态范围名称或重新定义适用的命名范围。

注意:公式使用结构化引用而不是单元格地址。这个选项可以通过点击文件>选项>公式>勾选或取消选中“在公式中使用表名”来关闭此选项。