如何在Excel中将逗号分隔的列表分成两列?


14

我有一个长的逗号分隔列表,在Excel中看起来像这样:

401.50,0.027  
402.00,0.028  
402.50,0.029  
403.00,0.031  
403.50,0.032  
404.00,0.034  
404.50,0.037  

有没有简单的方法可以将其转换为两个单独的列?有800多个值,我真的不希望单独将它们分开。

Answers:


30

您是否尝试过使用“ 文本到列”

  1. 突出显示包含您的列表的列。
  2. 转到数据 > 文本到列
  3. 选择分隔。单击下一步
  4. 选择逗号。单击下一步
  5. 选择您喜欢的常规文本
  6. 保留“ 目标不变,或选择另一列。点击完成

您也可以在两个单独的列中使用两个公式。

要获取逗号左边的值:

=0+LEFT(K1,FIND(",",K1)-1)

要获得逗号右边的值:

=0+RIGHT(K1,LEN(K1)-FIND(",",K1))

其中K1包含初始字符串,例如401.50,0.027

** 0+在公式将提取的子字符串转换为数值数据之前。


此后,要将列转换为行,可以选择列,然后选择“粘贴”和“转置”。
live-love

它适用于Google Spreadsheets
DanielBlazquez

3

将文本复制/粘贴到文本编辑器中将所有空格字符替换为回车/换行符另存为TXT文件。在Excel中打开文件。


0

写一点VBA来处理您的列表

假定值列表位于单个单元格中并被选中。将结果放在以下单元格中

Sub zx()
    Dim a() As String
    Dim v As Variant
    Dim i As Long
    Dim j As Long

    a = Split(ActiveCell.Value, " ")
    ReDim v(1 To UBound(a) + 1, 1 To 2)
    For i = 1 To UBound(a) + 1
        j = InStr(a(i - 1), ",")
        v(i, 1) = Val(Left(a(i - 1), j - 1))
        v(i, 2) = Val(Mid(a(i - 1), j + 1))
    Next

    ActiveCell.Offset(1, 0).Resize(UBound(a) + 1, 2) = v
End Sub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.