Excel 查找范围中的标题并返回列中的最后一个值

Excel 查找范围中的标题并返回列中的最后一个值,excel,excel-formula,Excel,Excel Formula,如何在某个范围内搜索特定标题,然后返回该列中的最后一个值 例如,从下面的“香蕉”列返回“10”: | Oranges | Apples | Bananas | | 34 | 45 | 42 | | 36 | 56 | 34 | | 76 | 53 | 10 | 范围的大小(行数和列数)未知 我可以使用=match(“香蕉”,a1:a3)查找范围内的列号(本例中为3),但需要将其转换为引用(例如c:c),然后使用

如何在某个范围内搜索特定标题,然后返回该列中的最后一个值

例如,从下面的“香蕉”列返回“10”:

| Oranges | Apples | Bananas |
| 34      | 45     | 42      |
| 36      | 56     | 34      |
| 76      | 53     | 10      |
范围的大小(行数和列数)未知


我可以使用
=match(“香蕉”,a1:a3)
查找范围内的列号(本例中为3),但需要将其转换为引用(例如
c:c
),然后使用
=INDEX(c:c,COUNTA(c:c),1)
之类的方法查找最后一个值。

如果行数始终相同,请尝试:

=HLOOKUP("Bananas",A:AZ,MATCH(1E+99,A:A),FALSE)
如果您想要一个不关心行数是否相同的行,请使用以下方法:

=INDEX(INDIRECT(MID(ADDRESS(1,MATCH("Bananas",1:1,0)),2,1)&":"&MID(ADDRESS(1,MATCH("Bananas",1:1,0)),2,1)),MATCH(1E+99,INDIRECT(MID(ADDRESS(1,MATCH("Bananas",1:1,0)),2,1)&":"&MID(ADDRESS(1,MATCH("Bananas",1:1,0)),2,1))))

它将找到“Bananas”,然后找到该列中最后一个被占用的单元格。

如果您有命名的列,它的工作方式与我前面描述的一样。

小区E1
=索引(橙色:橙色,COUNTA(橙色:橙色),1)
细胞E2
=索引(苹果:苹果,COUNTA(苹果:苹果),1)
细胞E3
=索引(香蕉:香蕉,COUNTA(香蕉:香蕉),1)

每列中的行数是否总是相同的,或者“香蕉”中的行数是否比“苹果”中的行数更多?@ScottCraner每列中的行数总是相等的,不会有空格。我不知道这是否是我刚才使用的系统特有的,但
1e+999
给了我一个错误,希望更改为
E1+999
,这不是同一回事。fwiw,我对
1E+99
没有任何问题。是的,99个零在任何情况下都可能足够了。@ScottCraner谢谢你-你能解释一下这是如何工作的吗?我的数据(例如)在A15:I27的范围内。它像一个VLOOKUP,但水平。因此,它在范围的第一行中查找“banana”,然后返回match函数返回的行中的值。匹配程序试图找到包含99个零的大数字1,因为它找不到,所以它会找到最后一个包含数字的单元格。@ScottCraner您的第一个公式(对于相同数量的行)效果很好-是否可以修改此公式以获得列中倒数第二个项目?不幸的是,列没有命名-数据跨越多个由第三方自动生成的工作表-我正在尝试自动整理数据。这是一个很好的方法。