String 基于多个规则和值拆分字符串
我试图从Excel电子表格中的一些数据构造一个SQL INSERT语句。以下是一些示例数据:String 基于多个规则和值拆分字符串,string,excel,if-statement,excel-formula,worksheet-function,String,Excel,If Statement,Excel Formula,Worksheet Function,我试图从Excel电子表格中的一些数据构造一个SQL INSERT语句。以下是一些示例数据: ORIGINAL | DESIRED OUTPUT ND 0, null 0.23 0.23, null 0.45 J 0.45, 1 0.99 B 0.99, 2 因此,规则是: 如果有ND,则ND应转换为0,下一个字段将为空 如果只有一个数字,我们就按原
ORIGINAL | DESIRED OUTPUT
ND 0, null
0.23 0.23, null
0.45 J 0.45, 1
0.99 B 0.99, 2
因此,规则是:
- 如果有ND,则ND应转换为0,下一个字段将为空
- 如果只有一个数字,我们就按原样加上一个空字段
- 如果数字后面有“J”,则输出字段应为数字,然后是“1”
- 如果数字后有“B”,则输出字段应为数字,然后是“2”
=IF(A1="ND","0, null",A1)
上面将处理“ND”的第一个实例,但不确定如何添加其他规则。如果公式:
=IF(ISNUMBER(A1),A1&", null",IF(A1="ND","0, null",IF(RIGHT(A1,1)="J",TRIM(LEFT(A1,LEN(A1)-1))&", 1",IF(RIGHT(A1,1)="B",TRIM(LEFT(A1,LEN(A1)-1))&", 2","UNKNOWN"))))
IF语句由3部分组成:
=如果(条件测试,正确部分,错误部分)
在false_部分,您可以启动另一个=IF()公式-起泡、冲洗、重复。您可以嵌套IF语句: =IF(A1=“ND”,“0,null”,IF(right(A1,1)=“J”,A1&“1”,IF(right(A1,1)=“B”,A1&“2”,A1))) 等等。请尝试:
=IF(A1="ND","0, null",IF(RIGHT(A1)="J",LEFT(A1,LEN(A1)-2)&", 1",IF(RIGHT(A1)="B",LEFT(A1,LEN(A1)-2)&", "&2,A1&", null")))