我想在文本字符串中找到最后一个数字字符的位置.我正在使用这个公式来做到这一点:
MAX(IF(ISERROR(FIND({1; 2; 3; 4; 5; 6; 7; 8; 9; 0},A1)), "",FIND({1; 2; 3; 4; 5; 6; 7; 8; 9; 0},A1))
但是,如果字符串包含重复数字,则不起作用.
例如,当字符串为"10ABC2010ABC"时,它将返回6而不是9.当字符串为"10ABC2131ABN"时,它确实返回8而不是9.
有什么想法发生了什么?
这是工作公式:
=MAX(IF(ISNUMBER(VALUE(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),ROW(INDIRECT("1:" & LEN(A1)))))
按CTRL+ SHIFT+ ENTER进行评估.
说明:
ROW(INDIRECT("1:" & LEN(A1))) 返回你的数组 {1,2,3,...,Len(A1)}A1单元格中取每个字符:MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1)VALUE(...)我们尝试将每个字符转换为数字.它返回#VALUE!所有字符的错误,例如1,2,3,4,5,6,7,8,9,0ISNUMBER(...)我们检查是否VALUE(..)返回数字或错误,如果它返回数字,我们记住它的位置.Max(..)我们找到数字字符的最后位置| 归档时间: | 
 | 
| 查看次数: | 11367 次 | 
| 最近记录: |