我在excel中有一个表,其中有一个包含文本的列,其中包含货币和一些尾随空格。
我有类似
"
Extra Charges 37,95 €
+ 1,50 € Shipping
+ 2,50 € COD
41,95 € "
我愿意
=TRIM(RIGHT(TRIM(Table[@PRICES]);9))
获得41,95€ 和
=VALUE(IF(LEN(Table[@PRICES])>9;MID(Table[@PRICES];20;8);Table[@PRICES]))
获得37,95€
但是对于第一个(41,95€),如果我尝试添加value(..)函数,则会出现#VALUE错误
如何将其转换为数字?
答案 0 :(得分:2)
您可以使用TEXT()函数将数字字符串转换为数字:
= TEXT(REPLACE(LEFT(“ 41,95€”,FIND(“”,“ 41,95€”)),FIND(“,”,“ 41,95€”),1,“。” ),“ 0.00”)
FIND()函数返回搜索字符串在现有字符串中的位置。这对于动态检测在LEFT()函数中使用的终点很有帮助。另外,它用于查找数字中“,”字符的位置,以便我们可以将其替换为“。”。 -以便Excel将其识别为数字。 TEXT()函数接受带有两位小数位的数字的格式“ 0.00”。
不幸的是,此方法删除了“欧元”符号-因此您可能希望使用单元格格式作为自己的参考。
答案 1 :(得分:0)
我尝试了以下插入CLEAN的方法,
= TRIM(RIGHT(TRIM(CLEAN(Table [@PRICES])); 9))