我怎样才能从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)