尝试使用第一列上的日期,并在另一列中将它们分为月、日和年

尝试使用第一列上的日期,并在另一列中将它们分为月、日和年

尝试使用第一列中的日期,并在另一列中将它们分为月、日和年。第一列中的日期之间有随机空格,结果列中的月份、日期和年份被删除了这些空格。

我不确定要使用哪个函数。任何建议或帮助都非常感谢。

例子

答案1

这取决于您是否需要按照显示的顺序保留它们。如果需要,您可以使用以下命令:

C2: =IFERROR(MONTH(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")
D2: =IFERROR(DAY(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")
E2: =IFERROR(YEAR(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1))),"")

如果您对辅助列满意,那么您可以使用以下方法将日期提取到他们自己的列中:

F2: =IFERROR(INDEX($A$1:$A$500,SMALL(IF($A$1:$A$500<>"",ROW($A$1:$A$500),""),ROW()-1)),"")

所有这些都是用 CTRL+SHIFT+ENTER 输入的数组公式。这样,您只需对每行进行一次查找,而不是三次。

如果它们可以按任何顺序排列,您可以跳过索引部分并直接使用:

C2: =IFERROR(MONTH(SMALL($A$1:$A$500,ROW()-1)),"")
D2: =IFERROR(DAY(SMALL($A$1:$A$500,ROW()-1)),"")
E2: =IFERROR(YEAR(SMALL($A$1:$A$500,ROW()-1)),"")

再次,如果您可以使用辅助列,则可以使用:

F2: =IFERROR(SMALL($A$1:$A$500,ROW()-1),"")

这些将按日期升序排列结果,必须使用 CTRL+SHIFT+ENTER 输入。

将 $A$1:$A$500 扩展至您需要的任何值,然后向下复制公式以扩展您想要查看的结果数。

第一组公式生成一个包含值的行号列表,然后使用 Small 函数按升序提取第 n 个值,其中 n 比公式所在的行小一 (Row()-1)。

第二组公式完全相同,只是它不是使用行号列表,而是直接提取日期列表。

相关内容