如何更改日期以在 Excel 中显示完整范围?

如何更改日期以在 Excel 中显示完整范围?

我有如下范围的年份:

2000-2005
2005-2015
1995-2000

我想知道如何快速显示所有年份?2000、2001、2002、2003、2004、2005

答案1

假设没有Excel Constraints根据发布的标签,以下公式应该有效。


下面显示的方法不使用任何挥发性函数, 自从挥发性函数(即OFFSET()& INDIRECT()),它不仅仅是重新计算任何时候表格更改, 它会随时重新计算任何打开的 Excel 工作簿上的任何内容的变化!


• 使用TEXTBEFORE()& TEXTAFTER()--> 专门用于MS365

在此处输入图片描述


• 单元格中使用的公式C2

=LET(α, TEXTAFTER(B2,"-"), φ, TEXTBEFORE(B2,"-"), ARRAYTOTEXT(SEQUENCE(α-φ+1,,φ)))

上述公式需要填充其余单元格,但是如果想要使用一个动态数组公式返回输出,那么可以尝试以下方法:

在此处输入图片描述


• 单元格中使用的公式C2

=BYROW(B2:B4,LAMBDA(δ, LET(α, TEXTAFTER(δ,"-"), φ, TEXTBEFORE(δ,"-"), ARRAYTOTEXT(SEQUENCE(α-φ+1,,φ)))))

或者,替代方法也适用于Excel 2019+ 及以上版本。

在此处输入图片描述


• 单元格中使用的公式C2

=TEXTJOIN(", ",,LEFT(B2,4)+ROW($AAF$1:INDEX($AF:$AF,RIGHT(B2,4)-LEFT(B2,4)+1))-1)

答案2

这取决于 Excel 的版本以及数据的具体显示方式。
下面的屏幕截图是如何转换单个范围的示例。
范围号

答案3

以下是我的观点:

连续年数:

=IF(ISNUMBER(FIND("-",A2)), TEXTJOIN(", ",TRUE,SEQUENCE(VALUE(RIGHT(A2,4))-VALUE(LEFT(A2,4))+1,1,VALUE(LEFT(A2,4)),1)), "")

在此处输入图片描述


  • 年份 栏目:

    =LET(startYear, VALUE(LEFT(A2, 4)), endYear, VALUE(MID(A2, FIND("-", A2) + 1, 4)), SEQUENCE(endYear - startYear + 1, 1, startYear, 1))
    

在此处输入图片描述

注意: 根据需要调整单元格引用。

相关内容