前一篇推文中,我教大家如何自动更新打印区域的时候,用到了一个公式,如何查找行和列的最后一个非空单元格。 这个知识点引起了很多同学的热烈讨论,如何查找最后一个非空元格?查找文本和数值的公式是否一样?找到后是返回单元格内容还是返回行号列标? 对于这些问题,今天我就来好好捋一捋如何查找最后一个非空单元格。 案例: 下图 1 是某公司销售的获客数总表,比较有代表性的是 A 列是文本,B 列为数值。 我们就以此表来详述查找文本和数值的最后一个单元格,分别返回值和行号,有哪些适用的公式。 效果如下图 2 所示。 解决方案: 我把查找需求分为以下几种大类,分别来看有哪些公式:
以本例来看,D 列是查找文本,E 列查找数值,返回的结果类型写在 F 列。 第一类:查找文本或数值,返回行号 1. 在 D2 单元格中输入以下公式 --> 回车(O365 直接回车即可,O365 以下版本需要按 Ctrl+Shift+Enter 生成数组公式): =MATCH(1,0/(A:A<>'')) 公式释义:
2. 同理,在 E2 单元格中输入以下公式 --> O365 直接按回车,低版本按 Ctrl+Shift+Enter: =MATCH(1,0/(B:B<>'')) 公式释义:
第二类:查找文本或数值,返回值 1. 在 D3 单元格中输入以下公式 --> 回车: =LOOKUP(1,0/(A:A<>''),A:A) 公式释义:
2. 在 E3 单元格中输入以下公式 --> 回车: =LOOKUP(1,0/(B:B<>''),B:B) 公式释义:
第三类:只能查找文本,返回行号 1. 在 D4 单元格中输入以下公式 --> 回车: =MATCH('々',A:A) 公式释义:
第四类:只能查找文本,返回值 1. 在 D5 单元格中输入以下公式 --> 回车: =LOOKUP('々',A:A) 公式释义:
第五类:只能查找数值,返回值 1. 在 E5 单元格中输入以下公式 --> 回车: =LOOKUP(9E+307,B:B) 公式释义:
第六类:只能查找数值,返回行号 1. 在 E4 单元格中输入以下公式 --> 回车: =MATCH(MAX(B:B)+1,B:B) 公式释义:
2. 在 E6 单元格中输入以下公式 --> 回车: =MATCH(9E+307,B:B) 公式释义:
3. 在 E7 单元格中输入以下公式 --> 回车: =LOOKUP(MAX(B:B)+1,B:B,ROW(B:B)) 公式释义:
最终结果如下。 转发、在看也是爱! |
|