楼主 悟空师弟 |
Q:如何用普通公式返回一行中第一个非空单元格? 如下图: A:公式如下:
如何用普通公式返回一行中第一个非空单元格?.rar 解题思路: 利用通配符?和*号的特性进行组合,再结合MATCH函数可以使用通配符的精确查找方式找到第一个非空单元格的位置,再用INDEX返回该行中对应位置的数据。 解题关键: 通配符“?”与“*”的使用。 公式解析: 公式:=INDEX(B2:G2,MATCH("?*",B2:G2,)) 以第2行为例: 1、“?”表示一个任意的字符,“*”表示任意多个任意字符(包括0个),组合后“?*”表示至少包含有一个字符。 2、MATCH("?*",B2:G2,) 查找第一个至少包含1个字符(即非空)的单元格的位置,结果为 【3】。 3、INDEX(B2:G2,MATCH("?*",B2:G2,)) 返回区域B2:G2中第3个单元格的数据,结果为 【KK2W】。 其他公式: 数组公式:
关于通配符:[基础应用] Excel 的通配符有哪些?各有什么用处? http://www.exceltip.net/thread-326-1-1.html 关于MATCH函数: [函数与公式] MATCH动态图解 http://www.exceltip.net/thread-7144-1-1.html 关于INDEX函数:[函数与公式] INDEX动态图解 http://www.exceltip.net/thread-7142-1-1.html 关于INDEX+MATCH函数:[函数与公式] INDEX+MATCH函数介绍 http://www.exceltip.net/thread-12134-1-1.html |
2楼 laowuwyx |
版主,头两个公式是普通公式。 |
3楼 nicon |
版主,您好,我正好有这样的需求,我试用了你提供的第一个公式,但总是返回#N/A的错误,我是新手,看了半天也没看出哪里有问题,麻烦帮我解答一下,谢谢! 刚下载了附件又看了一下,原来我自己的文件都是数字。而貌似公式针对的是文本,所以产生了错误。这个公式能够直接对数字使用吗? 不过最后一个数组公式可以解决我的问题,谢谢! |
4楼 玄紫 |