【问题标题】:Splitting strings based on multiple rules and values根据多个规则和值拆分字符串
【发布时间】:2015-11-02 15:35:56
【问题描述】:

我正在尝试从 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'的第一个实例,但不确定如何添加其他规则。

【问题讨论】:

    标签: string excel if-statement excel-formula worksheet-function


    【解决方案1】:

    请尝试:

    =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】:

      嵌套 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() 公式 - 起泡、冲洗、重复。

      【讨论】:

        【解决方案3】:

        你可以嵌套 if 语句:

        =IF(A1="ND","0, null", if(right(a1,1)="J", a1 & "1", if(right(a1,1)="B", a1 & "2", A1)))

        等等。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-19
          • 1970-01-01
          • 1970-01-01
          • 2020-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-18
          相关资源
          最近更新 更多