5.5K到Excel中的实数

我试图以更有效的方式将许多数据点从.7K,3.2K,2.25M等转换为实数格式。 我知道有一种方法可以创build自定义数字格式,但是如果有太多的IF语句可以使用,我该怎么做。 我真的不知道从哪里开始,任何帮助,将不胜感激。 我知道我可以使用filter和replace工具,通过每个if语句单独工作,但在那里和成千上万的数据点,我想find一个更有效的方法。

在这里输入图像说明

在查找中添加所有不同的字符组合。

如果在查找中找不到特定的字符,结果将是N / A。

=VLOOKUP(RIGHT(C2,1),G2:H3,2)*SUBSTITUTE(C2,RIGHT(C2,1),"")

在这里输入图像描述

提示:当您拖/填充公式时,vlookup的引用也会改变,以避免在单元格引用中添加“$”。

=VLOOKUP(RIGHT(C2,1),$G$2:$H$3,2)*SUBSTITUTE(C2,RIGHT(C2,1),"")

如果只是两个; K和M,那么下面会做你想要的:

 =LEFT(A1,LEN(A1)-1) * IF(ISNUMBER(SEARCH("k",A1)),1000,1000000) 

在这里输入图像说明


用vba做到这一点:

 Sub foooooooo() Dim rng As Range Dim ws As Worksheet Set ws = Worksheets("Sheet12") ' Change to your worksheet name With ws 'Change the "A" to the column in which you have the numbers and the 1 to the first row of numbers Set rng = .Range(.Cells(1, "A"), .Cells(.Rows.Count, "A").End(xlUp)) rng.Value = .Evaluate("=INDEX(LEFT(" & rng.Address & ",LEN(" & rng.Address & ")-1) * IF(ISNUMBER(SEARCH(""k""," & rng.Address & ")),1000,1000000),)") End With End Sub