excel 中怎样找右边起第一个大写字母的位置

比如说一个字符串 DeaCTsefgWd,需要找到从右边数起第一个大写字母的位置,在这个例子里是大写字母W,公式输出应该是10(第十个字符),公式该怎么写?谢谢。

    EXCEL中大写字母在字符集中的代码为65~90,所以可以直接查找是否含有这个范围的字符;

    这里需要从右往左查找,即查找最后一个大写字母的位置,可以使用LOOKUP函数的向后兼容性设计公式:=LOOKUP(9^9,FIND(CHAR(ROW($65:$90)),A1))。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-29
=MAX(IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<96)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>64),ROW(INDIRECT("1:"&LEN(A1)))))
输入后同时按下ctrl+shift+enter三键结束,数组公式本回答被提问者采纳
第2个回答  2012-12-29
设数字在A1,B1
=MAX(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<91,ROW(INDIRECT("1:"&LEN(A1))),0))
输入后同时按下ctrl+shift+enter三键结束,数组公式
第3个回答  2012-12-29
假设字符串在A1, B1输入
=MAX(IF(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<97,ROW(INDIRECT("1:"&LEN(A1)))))
按Ctrl+shift+enter结束公式
第4个回答  2012-12-29
=FIND("W",A1)追问

W不是搜索条件,实际情况可能是任何一个字母,我需要一个通用公式。搜索条件是“从右边数起”“第一个大写字母”。

请再帮忙想想办法。谢谢。

追答

=LOOKUP(1,0/(CODE((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))<=90),ROW(INDIRECT("1:"&LEN(A1))))

相似回答