Excel 2021桌面版如何简洁提取单元格公式中的数值部分?
Excel 2021桌面版如何简洁提取单元格公式中的数值部分?
你好呀!针对你想从R35单元格的公式=8464184.94*$S35里提取数值部分的需求,我来给你分享几个更简洁的方法,比你之前用的那个嵌套多层函数的长公式清爽多啦~
你之前写的这个公式:
=RIGHT(LEFT(FORMULATEXT(R35),(FIND("*",FORMULATEXT(R35),1)-1)),LEN(LEFT(FORMULATEXT(R35),(FIND("*",FORMULATEXT(R35),1)-1)))-1)
确实能实现需求,但写起来、读起来都太费劲了,完全可以简化。
这里给你两个更友好的方案,都是Excel 2021桌面版支持的:
方法一:用TEXTBEFORE函数(最简洁)
直接用这个公式:=--TEXTBEFORE(FORMULATEXT(R35),"*")原理很简单:
FORMULATEXT(R35)获取R35单元格里的公式文本,TEXTBEFORE专门提取分隔符*之前的内容,最后用--把提取到的文本格式数值转换成真正的数值类型,这样你后续可以直接用这个结果做计算。方法二:简化嵌套逻辑的经典写法
如果你想稳妥用基础函数,也可以把原来的思路精简成:=--LEFT(FORMULATEXT(R35),FIND("*",FORMULATEXT(R35))-1)解释下:
LEFT函数直接提取从开头到*之前的所有内容(包括公式开头的=),FIND("*",FORMULATEXT(R35))-1精准定位到*的前一位,最后用--把带=的文本转成数值——Excel会自动忽略开头的=,直接识别出后面的数字。
这两个公式都能精准提取出8464184.94,不管是写还是维护都比原来的公式轻松太多~
备注:内容来源于stack exchange,提问作者Steev43230




