我怎样才能从Excel中获得数字

我将如何从一个单元格中提取所有数字,例如A1单元格包含:“AA59”我希望公式提取59并忽略AA。 我可以使用= if(right(A1),2)公式,但如果A1包含值AA5,那么它会select最后两个字符(这是A5),所以这是错误的?

这是一个本地工作表公式解决scheme。 与VBA用户自定义函数相比,它有点不雅观,但它是一个标准(非数组)的公式,看起来比实际更复杂。

在字符串中查找第一个数字

B21中的公式是,

 =MID(A1, MIN(INDEX(ROW(INDIRECT("1:"&LEN(A1)))+((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<48)+(CODE(MID(UPPER(A1),ROW(INDIRECT("1:"&LEN(A1))),1))>57))*1E+99,,)), 99) 

根据需要填写。 将所有东西包装在VALUE(...)函数中,或者在MID之前加上一个双精度(又称双减或 – )来将文本转换为真数。

作为替代scheme,请考虑arrays公式

 =--MID(SUMPRODUCT(--MID("01"&A1,SMALL((ROW($1:$300)-1)*ISNUMBER(-MID("01"&A1,ROW($1:$300),1)),ROW($1:$300))+1,1),10^(300-ROW($1:$300))),2,300) 

从混合单元中提取数字:

在这里输入图像说明

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。

如果您总是尝试从string的末尾获取单个或两位数字,请尝试此版本:

=LOOKUP(100,RIGHT(A2,{1,2})+0)