Excel 查找范围中的标题并返回列中的最后一个值
如何在某个范围内搜索特定标题,然后返回该列中的最后一个值 例如,从下面的“香蕉”列返回“10”: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),然后使用
| 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您的第一个公式(对于相同数量的行)效果很好-是否可以修改此公式以获得列中倒数第二个项目?不幸的是,列没有命名-数据跨越多个由第三方自动生成的工作表-我正在尝试自动整理数据。这是一个很好的方法。