重新排序电子表格单元格中的数据

重新排序电子表格单元格中的数据

我有一个 Excel 电子表格,其中的数据带有时间戳,但时间戳如下(在一个单元格中):

周五 3 月 11 日

如果是 3 月 11 日星期五,数据会更容易排序。如何将值从 3 月 11 日星期五 更改为 3 月 11 日星期五?

答案1

如果将其存储为日期/时间戳,则其格式如何就不重要了 - 只需按列进行排序即可。

然而,如果它只是纯文本,坦率地说,那就困难得多。

我可能会建议您自己重新排序。

或者,您可以将列更改为日期/时间,我认为 Excel 应该可以理解并转换它。

答案2

最简单的方法是打开VBA编辑器Alt+F11,插入一个新模块并输入这个UDF

Function SplitDate(ByVal strTemp As String, _
ByVal strDelimiter As String, _
ByVal lngElement As Long)

SplitDate = Split(strTemp, strDelimiter)(lngElement)

End Function

然后回到 Excel 中,您可以使用 UDF 公式作为 =SplitDate(INPUTTEXT,DELIMITER,ELEMENTTORETURN)

例如,假设Fri Mar 11单元格中有文本A1

=SplitDate(A1," ",0) 将返回“星期五”

=SplitDate(A1," ",1) 将返回“Mar”

=SplitDate(A1," ",2) 将返回“11”

然后,您可以将它们组合成一个公式来重新排列您的字符串。

或者使用=DATE(YEAR(RIGHT(A1,LEN(A1)-FIND(" ",A1,1))),MONTH(RIGHT(A1,LEN(A1)-FIND(" ",A1,1))),1)将单元格 A1 中的文本转换为日期。由于没有 DAY,我假设是每月 1 日(更改最后一个 ,1 以更改 DAY)。

答案3

假设格式始终为 3 个字母表示日期、1 个空格、3 个字母表示月份、1 个空格,然后 1 或 2 位数字表示月份中的日期,并且所有日期均为 2011 年,则可以使用以下公式将文本转换为表示日期的数字

=DATEVALUE(RIGHT(A1,LEN(A1)-8)&" "&MID(A1,5,3)&" 2011")

因此,您可以添加一个额外的列并粘贴该公式,将其复制下来并对该列进行排序。

相关内容