为SUMIF函数select一个命名范围的特定列

我正在尝试创build一个SUMIF函数,它在我的Excel工作表中的某个指定范围的特定列中dynamic地添加了值。

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

在这里输入图像描述

公式挑出所有名称中包含“伦敦”的单元格,并总结与伦敦相关的费用。

我想要做的是使用一个名为TripsData(A2:B5)的命名区域,并告诉SUMIF函数将这个范围的第2列中的条目求和,以符合伦敦的名字。

我怎样才能做这个工作,而不需要创build列2的第二个命名范围,并简单地通过告诉Excel查看指定范围内的指定列? 索引/匹配只返回一个值,所以当名称中有几个带有伦敦的单元格时不起作用。

谢谢你的帮助!

使用INDEX引用指定范围中的特定列(它可以引用整列),就像这样

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

如果将数据转换为Excel表格对象,则可以完全不具有任何命名范围。 select范围或整个范围内的任何单元格,然后单击“插入”>“表”或按CtrlT

将会有一个对话框询问您的表是否有标题。 你的确如此。 现在你可以通过固有的名字来引用表格和它的列,然后像这样构build你的公式:

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

在这里输入图像说明

当然,即使公式已经存在,您也可以重命名该表。 当您单击表格中的某个单元格时,将会出现一个新的与仅与表格相关的命令的function区。 这是一个非常强大的工具。

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

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