请帮 excel 公式解释查找特定字符最后一次出现的位置 =-LOOKUP(,-FIND("@",A1,ROW(A:A)))

=-LOOKUP(,-FIND("@",A1,ROW(A:A))),
此公式是查询出A1格的字串里面,最后一个@出现的位置,如A1格里是字串:asdf@jk@ke,则返回值:8。但这个简洁的公式,具体是如何实现的,一直表示看不懂,请高手帮解释下!!!

ROW(A:A)是 生成一组数1,2,3,4……,用作find函数的查找起始位置参数

配合find函数找出所有@在字符串的位置
lookup,第一个参数没有相当于是0,查找区域是find输出的@位置,添加了-号,输出的结果即是find结果的最后一个,即最后一个@的位置追问

谢谢,请问 Find 前面的 - 号,是哪些函数才可以使用?

追答

都可以,就是 取相反数

追问

还是这字串 asdf@jk@ke 可是直接用这个子公式,出来的值是 -5 , 这怎么理解为你所说的 ”find结果的最后一个“?
=-FIND("@",A1,ROW(A:A))

追答

find前有负号,肯定是负数,而且别人是运算过程中的恶数组,你要这样用肯定只出一个结果的,你要在 原来的公式里面一步步运算公式就看明白了

追问

运算过程中的恶数组, 请问有这方面的文章等更多点的知识吗?我百度上找的excel数组运算说的好像不是这方面的知道。

谢谢了!!

温馨提示:答案为网友推荐,仅供参考