如何使用公式拆分逗号分隔的数字

如何使用公式拆分逗号分隔的数字

我有一个很长的以逗号分隔的列表,在 Excel 中如下所示:

481703472.963,2761810387.418,34630.525
481703472.963,2761810387.418,34630.526
481703472.963,2761810387.418,34630.527

我需要一个公式将其转换为六个独立的列。

它看起来应该如图所示:

在此处输入图片描述

答案1

即使使用内置Text to Column命令也可以修复此问题。

警告:

  • @Máté Juhász 编辑了该帖子,并在发布此解决方案后上传了所需的输出。
  • 我的解决方案解决了原始问题,如下所示Before split captioned picture

拆分前:

在此处输入图片描述


  • 按下 TAB 键电视延伸至列。
  • 选择elimited 选项。
  • 移至下一个屏幕。
  • 立即检查C奥玛&复选框。
  • 插入.符号文本框。
  • 终于打了F完成。

在此处输入图片描述


拆分后你会得到这个:

在此处输入图片描述

注意:为了看起来更好,我已将单元格T1&加粗T2,您可以忽略这一点。


編輯:

我发布基于 Excel 公式的此解决方案,因为 OP 需要simple split into columns, confirmed through comments below

在此处输入图片描述

  • 单元格中的公式V8并填充:

    =TRIM(MID(SUBSTITUTE("."&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($T8,",","."),",","."),",","."),".",REPT(" ",50)),50*COLUMNS($T:T),50))

根据需要调整公式中的单元格引用和分隔符。

答案2

如果只需要几列并且位数始终相同,则只需使用MID()

=MID($A2,10,5)

在此处输入图片描述

答案3

如果正如您上面所写的,您只对返回列中显示的值感兴趣1,3,5,那么您可以尝试这个公式:

=IFERROR(INDEX(LEFT(TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",99)),seq_99,99)),-1+FIND(".",TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",99)),seq_99,99)))),COLUMNS($A:A)),"")

哪里seq_99命名公式指的是:

=IF(ROW($A$1:INDEX($A:$A,255,1))=1,1,(ROW($A$1:INDEX($A:$A,255,1))-1)*99)

在此处输入图片描述

答案4

自 2022 年 8 月 Excel 版本起,您可以使用该TEXTSPLIT函数执行此操作。从Microsoft 文档

使用列和行分隔符拆分文本字符串。

TEXTSPLIT 函数的工作原理与“文本到列”向导相同,但采用公式形式。它允许您跨列或按行拆分。它是 TEXTJOIN 函数的逆函数。

基本语法是=TEXTSPLIT(text,col_delimiter,[row_delimiter],[ignore_empty],[match_mode],[pad_with])(括号中的参数是可选的),并且您的公式将根据您的输入溢出到右侧和下方的单元格(与“文本到列”向导的方式相同)。如果公式输出占用的任何单元格不为空或合并,你会得到一个#SPILL!错误

相关内容