【问题标题】:Excel formula to output all numbers in a given rangeExcel公式输出给定范围内的所有数字
【发布时间】:2015-08-12 16:50:01
【问题描述】:

对于产品兼容性表,我需要将年份形式的数据(例如 1997-2004)转换为该范围内所有年份的列表(1997 1998 1999 2000 2001 2002 2003 2004),并带有空格。任何帮助将不胜感激!我觉得这可能很容易,但我绝不是 excel 专家。谢谢!

【问题讨论】:

  • 来自@james-chen:所以 A1 = 1997-2000 和 A2 你想要 1997 1998 1999 2000 都在那个 1 单元格中?
  • 另外一个问题,需要公式还是VBA可以?
  • 任何一个都可以!感谢您的回答!看起来不错,我暂时不会在办公室,但我一回来就会添加它!

标签: date excel-formula


【解决方案1】:

如果您需要 1 个单元格中的所有数据并且 ahs 由公式驱动,那么我可以为您提供一个解决方法,虽然不漂亮但可以 下面的公式是在 1997-1999 范围内测试的,所以如果你有 1997-2007,那么你需要添加到公式 Left(A1,4)+4...+5....+6 等等,然后你将需要为最大范围执行此操作,即最大范围是 1997-2007 然后任何单元格都需要让公式向上移动(A1,4)+11

   =LEFT(A1,4)&" "&IF(LEFT(A1,4)+1>Value(RIGHT(A1,4)),"",LEFT(A1,4)+1)&" "&IF(LEFT(A1,4)+2>Value(RIGHT(A1,4)),"",LEFT(A1,4)+2)&" "&IF(LEFT(A1,4)+3>Value((A1,4)),"",LEFT(A1,4)+3)

另一种方法是按单元格进行,不那么混乱。所以 A1 是范围,假设你的最大跨度是 10 年,那么右边需要 10 列。所以让我们以 1997-1999 A1 为例,然后在 B1 中你想要 =左(A1,4) 只是给你开始的一年 然后在 C1 你想要

=IFERROR(IF(B1+1>VALUE(RIGHT($A1,4)),"",B1+1),"")

然后将其拖到最后一列。所以最大的范围是 1997-199,那么最后一个单元格是 D1,如果是 1997-2000,那么是 E1,等等。

现在在单元格 E1(或任何最后一个单元格 +1 中)放

=B1&" "&C1&" "&D1&" "&E1

如果您不喜欢嵌套公式,我喜欢最后一种方法

【讨论】:

  • 这真的是评论,而不是答案。你有足够的代表to post comments。目前我已经为你添加了评论,并标记了这篇文章以供删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多