|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 逍遥爱迪生 于 2025-5-9 14:32 编辑
​B 列公式(B2 单元格开始)excel
=IF(ISNUMBER(SEARCH(".",A2,1)),"",A2)
逻辑:
如果 A 列的值不包含小数点(如1),则显示该值;否则显示空值。
C 列公式(C2 单元格开始)excel
=IF(AND(ISNUMBER(SEARCH(".",A2,1)),NOT(ISNUMBER(SEARCH(".",MID(A2,FIND(".",A2,1)+1,LEN(A2)),1)))),MID(A2,FIND(".",A2,1)+1,LEN(A2)),"")
逻辑:
如果 A 列的值只包含一个小数点(如1.1),则显示小数点后的部分(如1);否则显示空值。
D 列公式(D2 单元格开始)excel
=IF(AND(ISNUMBER(SEARCH(".",A2,1)),ISNUMBER(SEARCH(".",MID(A2,FIND(".",A2,1)+1,LEN(A2)),1))),TRIM(RIGHT(SUBSTITUTE(A2,".",REPT(" ",99)),99)),"")
逻辑:
如果 A 列的值包含至少两个小数点(如1.2.1),则显示最后一部分(如1);否则显示空值。
示例结果[td] 公式解释
- B 列:
- ISNUMBER(SEARCH(".",A2,1)) 判断 A 列是否包含小数点。
- 如果不包含,则返回 A 列值;否则返回空值。
- C 列:
- 第一个条件检查 A 列是否包含小数点。
- 第二个条件检查小数点后的部分是否还包含小数点(排除1.2.1这类情况)。
- 如果两个条件都满足,则用MID提取小数点后的部分。
- D 列:
- 两个条件检查 A 列是否包含至少两个小数点。
- SUBSTITUTE将所有小数点替换为空格,RIGHT提取最后一部分,TRIM去除多余空格。
如果实际数据更复杂(如包含多个小数点或非数字字符),可能需要进一步调整公式。
​ |
|