Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 基于多个规则和值拆分字符串_String_Excel_If Statement_Excel Formula_Worksheet Function - Fatal编程技术网

String 基于多个规则和值拆分字符串

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,下一个字段将为空 如果只有一个数字,我们就按原

我试图从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(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")))