2017-02-03 854 views
2

我有一个excel文件,跑步者在9次中间检查时到达。因此,每个参与者的总次数是9,但实际时间之间的大量输入是空格。我怎样才能删除每列中的空白空间?在excel或csv或文本文件中删除空格

enter image description here

我已经试过转换为txt,做以下没有成功,因为不再有列次之间任何分离:

tr -d ' ' <input.txt> no-spaces.txt 
tr -d '[:blank:]' <input.txt> no-spaces.txt 
tr -d '[:space:]' <input.txt> no-spaces.txt 

https://askubuntu.com/questions/537956/sed-to-delete-blank-spaces

什么我后,如下所示:

enter image description here

+0

VBA可以遍历列并通过SpecialCells(xlCellTypeBlank)删除空白。删除或可能排序(后者取决于时间是否总是按升序排列)。 – Jeeped

回答

2

使用VBA,您可以:

Sub deleteBlanks() 
    Columns("A:Z").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp 
End Sub 

前:

enter image description here

后:

enter image description here

或者你也可以使用自动过滤器,这样你就可以隐藏每一列中的空白行......然后你可以选择区域,并复制并粘贴为值。

+1

如果空白单元格不规则,则可能必须在列中循环。 – Jeeped

+0

谢谢你这么快的回应。他们是不规则的每列... – HCAI

+0

@HCAI,你可以看到的图像,我的代码将适用于您的具体问题。它的工作原理是因为在'Columns(“A:Z”)删除了每个单元格。SpecialCells(xlCellTypeBlanks).Delete Shift:= xlUp'而不是使用'Worksheet.Columns(“A:Z”)去除每一行。 SpecialCells(xlCellTypeBlanks).EntireRow.Delete' –

相关问题