【问题标题】:Excel - Split by `;` in each cellExcel - 在每个单元格中按“;”分割
【发布时间】:2015-03-13 22:19:33
【问题描述】:

我想将这些文本拆分为 excel 中的单元格:

Hello-HOW-are-YOU-DOING-!
This-is-not-my-name-.
Random-People-are-looking-?
No-!

基本上应该是这样的:

目前我正在使用这个公式,这只是第一次拆分:

=LEFT(Export!A2;FIND("-";Export!A2)-1)

有什么建议可以自动为每个- 进行拆分吗?

感谢您的回复!

【问题讨论】:

  • Excel 有一个功能:“拆分单元格内容”。不? (现在不确定英文 Excel 中的名称。)
  • 或者,创建一个代码模块,提供使用 VBA 拆分功能的 VBA 功能。
  • stackoverflow.com/questions/20199553/… 显示了一个非常相似的用例。
  • 使用谷歌表格 ;) SPLIT function

标签: excel excel-formula spreadsheet vba


【解决方案1】:

B1中的数据;C1中输入:

=TRIM(MID(SUBSTITUTE($B1,"-",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

并复制:

【讨论】:

    【解决方案2】:

    或者你可以这样做......

    =MID($A2,FIND(B2,$A2)+LEN(B2)+1,FIND("-",$A2,FIND(B2,$A2)+LEN(B2)+1)-(FIND(B2,$A2)+LEN(B2)+1))
    

    在单元格 D 中,因为您已经拥有了

    =LEFT(A2,FIND("-",A2)-1) 
    

    对于第一个单元格

    【讨论】:

      【解决方案3】:

      在带有溢出的 Excel O365 中,现在可以通过以下方式完成:

      =TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(B2,"-","</s><s>")&"</s></t>","//s"))
      

      从 Excel 2013 开始,您仍然可以使用 FILTERXML,但使用 INDEX 并向右拖动:

      =INDEX(FILTERXML("<t><s>"&SUBSTITUTE(B2,"-","</s><s>")&"</s></t>","//s"),COLUMN(A1))
      

      【讨论】:

        猜你喜欢
        • 2016-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-26
        • 2019-09-08
        • 1970-01-01
        相关资源
        最近更新 更多