如何在Google Sheets中将Finviz抓取的1.17B转为标准数字格式?
解决方案
你可以通过嵌套SUBSTITUTE函数替换单位后缀(B/M/K)为科学计数法格式,同时处理连字符问题,修改后的公式如下:
基础版本(处理单位后缀)
=VALUE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( index(IMPORTHTML("http://finviz.com/quote.ashx?t="&$C7,"table", 9),3,2), "*", "" ), "B", "e9" ), "M", "e6" ), "K", "e3" ) )
含连字符处理版本(若-代表空值)
如果抓取结果中的连字符-表示无数据,可额外替换为0避免错误:
=VALUE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( index(IMPORTHTML("http://finviz.com/quote.ashx?t="&$C7,"table", 9),3,2), "*", "" ), "B", "e9" ), "M", "e6" ), "K", "e3" ), "-", "0" ) )
公式说明
- 最内层先移除
*符号,保留原公式的基础逻辑 - 替换
B为e9(对应×10⁹)、M为e6(对应×10⁶)、K为e3(对应×10³),Google Sheets的VALUE函数可直接识别科学计数法文本并转换为标准数字 - 若连字符是负数前缀(如
-1.2M),无需额外替换,VALUE会自动识别为负数
内容的提问来源于stack exchange,提问作者wheresjohnnywalker
相关产品推荐
相关产品推荐

