为SUMIF函数选择命名范围的特定列

Cla*_*sie 11 excel function offset sumifs

我正在尝试创建一个SUMIF函数,该函数可以在Excel工作表中的命名范围的特定列中动态添加值.

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

在此输入图像描述

该公式选出了名称中包含"伦敦"的所有单元格,并总结了与伦敦相关的费用.

我想要做的是使用名为TripsData(A2:B5)的命名范围,并告诉SUMIF函数将该范围的第2列中的条目求和,以满足在其名称中使用伦敦的条件.

如何在不需要为第2列创建第二个命名范围的情况下完成此工作,只需告诉Excel在此命名范围的指定列中查找?索引/匹配仅返回一个值,以便在名称中有多个名为London的单元格时不起作用.

谢谢你的帮助!

chr*_*sen 15

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

=SUMIF(TripsData,"*London*",INDEX(TripsData,,2))
Run Code Online (Sandbox Code Playgroud)

  • 请记住,与 VLOOKUP 一样,如果您在索引列之前的命名范围中添加/删除列,您的公式将不会返回与它相同的列。 (2认同)

tey*_*lyn 8

如果将数据转换为 Excel 表格对象,则完全可以在没有任何命名范围的情况下执行此操作。选择范围内或整个范围内的任何单元格,然后单击“插入”>“表格”或点击Ctrl-T

将出现一个对话框,询问您的表格是否有标题。你的可以。现在,您可以通过固有名称引用表及其列,并像这样构建公式:

=SUMIF(Table1[Expense],"*London*",Table1[Cost])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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

适用于整个表格列的任何公式、格式等都将自动转移到新的表格行中。当然,表列引用也会自动调整,因此您不必弄乱动态范围名称或重新定义命名范围适用于什么。

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