根据多个规则和值拆分字符串

时间:2015-11-02 15:35:56

标签: 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,下一个字段为空
  • 如果只有一个数字,我们只需添加该数字加上一个空字段
  • 如果有一个' J'在数字之后,输出字段应该是数字,然后是' 1'
  • 如果有' B'在数字之后,输出字段应该是数字,然后是' 2'

我可以毫不费力地创建单独的规则,但我似乎无法将它们串在一起。例如:

=IF(A1="ND","0, null",A1)

以上内容将处理ND'的第一个实例,但不确定如何添加其他规则。

3 个答案:

答案 0 :(得分:2)

嵌套的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 < / EM> <强>)

false_part 中你可以启动另一个= IF()公式 - 泡沫,冲洗,重复。

答案 1 :(得分:2)

请尝试:

=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")))

答案 2 :(得分:-2)

您可以嵌套if语句:

= IF(A1 =“ND”,“0,null”,if(right(a1,1)=“J”,a1&amp;“1”,if(right(a1,1)=“B”) ,a1&amp;“2”,A1)))

等等。