Excel - 删除单元格中的特定小数
Excel - Remove a specific decimal in a cell
我很难从我的单元格中删除最后一个小数点。有什么建议吗?
示例:
0101.29.00.90 至 0101.29.0090
假设 A1:0101.29.00.90
要去掉单元格最后一位小数,如果小数位数不固定,在B1输入公式:
=SUBSTITUTE(A1,".","",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))
去掉单元格最后一位小数,如果小数固定在3位没有,B1公式可以简写为:
=SUBSTITUTE(A1,".","",3)
结果是:0101.29.0090
您需要使用SUBSTITUTE功能。
SUBSTITUTE(text, old_text, new_text, [instance_num])
SUBSTITUTE 函数语法具有以下参数:
正文 必填。文本或对包含要替换字符的文本的单元格的引用。
Old_text 必需。您要替换的文本。
New_text 必需。您要将 old_text 替换为的文本。
Instance_num 可选。指定要用 new_text 替换的 old_text。如果指定 instance_num,则仅替换 old_text 的那个实例。否则,文本中每次出现的 old_text 都会更改为 new_text.
最后一个选项对于您的问题不是可选的。例如,使用下面的公式
=SUBSTITUTE(A1,".","",3)
假设源数据在单元格 A1 中。
它将用空字符串替换第三个点,您将得到所需的解决方案。
i.e 0101.29.00.90 to 0101.29.0090
这里有一个更通用的方法:
假设您的数据在单元格 A1
中,在单元格 B1
中输入以下 数组公式:
=REPLACE(A1,MAX(IFERROR(FIND(".",A1,ROW($A:INDEX($A:$A,LEN(A1)))),0)),1,"")
你必须按Ctrl+Shift+Enter 在公式栏中完成公式后,否则它将无法正常运行。然后,您只需将公式向下拖动即可应用。
The logic is to use FIND function to find the position of each dot .
within the string, then use MAX+IFERROR functions to return the largest value i.e. the position of the last dot .
, then use REPLACE function to replace the last dot .
with blank ""
.
这是一些测试结果:
| Sample Data | Result |
|-----------------|----------------|
| 0101.29.00.90 | 0101.29.0090 |
| 1.2.3.4.5.6.7.8 | 1.2.3.4.5.6.78 |
| 000.111.222.3 | 000.111.2223 |
| 4.3.2.01 | 4.3.201 |
我很难从我的单元格中删除最后一个小数点。有什么建议吗?
示例: 0101.29.00.90 至 0101.29.0090
假设 A1:0101.29.00.90
要去掉单元格最后一位小数,如果小数位数不固定,在B1输入公式:
=SUBSTITUTE(A1,".","",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))
去掉单元格最后一位小数,如果小数固定在3位没有,B1公式可以简写为:
=SUBSTITUTE(A1,".","",3)
结果是:0101.29.0090
您需要使用SUBSTITUTE功能。
SUBSTITUTE(text, old_text, new_text, [instance_num])
SUBSTITUTE 函数语法具有以下参数:
正文 必填。文本或对包含要替换字符的文本的单元格的引用。
Old_text 必需。您要替换的文本。
New_text 必需。您要将 old_text 替换为的文本。
Instance_num 可选。指定要用 new_text 替换的 old_text。如果指定 instance_num,则仅替换 old_text 的那个实例。否则,文本中每次出现的 old_text 都会更改为 new_text.
最后一个选项对于您的问题不是可选的。例如,使用下面的公式
=SUBSTITUTE(A1,".","",3)
假设源数据在单元格 A1 中。
它将用空字符串替换第三个点,您将得到所需的解决方案。
i.e 0101.29.00.90 to 0101.29.0090
这里有一个更通用的方法:
假设您的数据在单元格 A1
中,在单元格 B1
中输入以下 数组公式:
=REPLACE(A1,MAX(IFERROR(FIND(".",A1,ROW($A:INDEX($A:$A,LEN(A1)))),0)),1,"")
你必须按Ctrl+Shift+Enter 在公式栏中完成公式后,否则它将无法正常运行。然后,您只需将公式向下拖动即可应用。
The logic is to use FIND function to find the position of each dot
.
within the string, then use MAX+IFERROR functions to return the largest value i.e. the position of the last dot.
, then use REPLACE function to replace the last dot.
with blank""
.
这是一些测试结果:
| Sample Data | Result |
|-----------------|----------------|
| 0101.29.00.90 | 0101.29.0090 |
| 1.2.3.4.5.6.7.8 | 1.2.3.4.5.6.78 |
| 000.111.222.3 | 000.111.2223 |
| 4.3.2.01 | 4.3.201 |