根据多个规则和值拆分字符串
Splitting strings based on multiple rules and values
我正在尝试根据 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,下一个字段将为空
- 如果只有一个数字,我们只需添加该数字加上一个空字段
- 如果数字后面有一个 'J',则输出字段应该是数字,然后是“1”
- 如果数字后有一个 'B',则输出字段应该是数字,然后是“2”
我可以毫不费力地创建单独的规则,但我似乎无法将它们串在一起。例如:
=IF(A1="ND","0, null",A1)
以上将处理 'ND' 的第一个实例,但不确定如何添加其他规则。
嵌套 IF 公式:
=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 个部分组成:
=IF(condition_test,true_part,false_part)
在 false_part 中,您可以开始另一个 =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")))
我正在尝试根据 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,下一个字段将为空
- 如果只有一个数字,我们只需添加该数字加上一个空字段
- 如果数字后面有一个 'J',则输出字段应该是数字,然后是“1”
- 如果数字后有一个 'B',则输出字段应该是数字,然后是“2”
我可以毫不费力地创建单独的规则,但我似乎无法将它们串在一起。例如:
=IF(A1="ND","0, null",A1)
以上将处理 'ND' 的第一个实例,但不确定如何添加其他规则。
嵌套 IF 公式:
=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 个部分组成:
=IF(condition_test,true_part,false_part)
在 false_part 中,您可以开始另一个 =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")))