这个需求简单来说,就是从右向左查找字符出现的首个位置,或从左向右查找字符出现的最后位置,例如:
查找“中华人民共和国人民代表大会发言人任免人选”中,最后一个“人”字的位置,直接的查找是做不到的。
以下是各种公式:(以查找A1单元格中最后一个“@”为例)
1.直线思路公式:
=FIND('☆',SUBSTITUTE(A1, '@', '☆',
LEN(A1)-LEN(SUBSTITUTE(A1, '@', ''))))
解释:先通过替换删除法算出原字符串中有多少个“@”,例如n个,然后将第n个“@”替换成“☆”再查找“☆”的位置。
2.行扩展拆分字符公式:
=LOOKUP(1,0/(MID(A1,COLUMN(1:1),1)='@'),COLUMN(1:1))
解释:column(1:1)会自动扩展成第一行的有限列数组(2003版上限256列,2010版上限16384列),然后公式就成了对A1的内容按每个字符拆分成数组,然后比对是否是“@”,是的话会返回逻辑值“True”,用零除运算后,“True”的项会变成“0”,其他变成“#DIV/0”,而对这些项组成的数组查找“1”将等同于查找最后一个“0”,然后给出对应的行号(位置)数字。缺点
标签:
excel
公式
不重复值
计数
提取
|
分类:
电脑
|
【非空非错误值计数】
| 源:Excel|【练习题】统计非空非错误值个数 -
http://www.exceltip.net/thread-23677-1-1.html
求A1:A10中非空、非错误值个数,纯函数。无名称,无辅助列,无VBA
公式 &n