【问题标题】:Combine two non-contiguous ranges for pivot table组合数据透视表的两个不连续范围
【发布时间】:2017-11-14 19:07:04
【问题描述】:

如果您在 excel 中有一个表格,则所有列标题都被强制格式化为一般文本。我正在尝试使用数据透视表来引用表中的数据并将列标题视为日期唯一的方法是在电子表格的其他地方有一个完全独立的行,它不是表的一部分但反映了列除了它被格式化为日期。这就是我的问题,我需要将这两个范围组合成一个范围,我可以将其用作数据透视表范围中的值。

OFFSET($B$11,0,0,ROWS(tblOther[#Data]),COLUMNS(tblOther[#Data]-2))

OFFSET(tblOther[#Data],0,0,ROWS(tblOther[#Data]),COLUMNS(tblOther[#Data]-2))

谢谢

【问题讨论】:

  • 您为什么不使用 PowerQuery 来完成此任务?或者,您可以设置一个内部(自引用)ADO 连接,然后像 SELECT col1, col2, col3 FROM [SheetName$A1:C20] UNION ALL SELECT col1, col2, col3 FROM [OtherSheetName$Z10:AB30] 这样使用 SQL。
  • 不幸的是 PowerQuery 不是一个选项。
  • 那么 VBA 呢?
  • 如果可能的话希望避免它,但如果不是,它是一个选项。
  • 好的。因此,在您的另一个线程中,我发布了一个非常酷的 VBA 例程,我在本周早些时候编写了代码来完成这种类型的任务。相比之下,使用公式执行此操作会非常麻烦,并且维护起来会很痛苦。现在已经很晚了,但是明天我会在您的其他帖子中添加几张图片,以防您或其他人需要帮助来实施解决方案。

标签: excel excel-formula


【解决方案1】:

再一次,我能做的就是向您指出我建议您可以在Combine Multiple Tables Rows Into Master Table 的另一个线程中将多个表混合在一起的两种好方法

  • 按照 Ralph 的建议使用 PowerQuery
  • 一个使用 VBA。

现在我在其他线程上知道您不想要 PQ 或 VBA 解决方案,但它们都不是那么难,我已经为您提供了一个链接,指向先前的答案,并附有分步图片展示了 PQ 是多么容易,以及一个非常容易实现的通用 VBA 例程。

如果您想用简单的方法将表格组合在一起,那么它们就差不多了。如果由于某种原因您不能使用其中一个或两个,请回帖并让我知道原因是什么,我会看看是否可以帮助您克服它。

【讨论】:

  • 为什么投反对票?这个答案有什么用处?
  • 你从我之前的帖子中很清楚这不是我的选择。
  • 在那个线程中,您说“是否有非 vbscript/marco 方法来创建主表”。你说“如果没有一个叫做电源查询的插件,似乎没有一个像样的解决方案。”在这里我要指出 a) 如果您有 2013 或更高版本,PowerQuery 不是插件,这意味着它与说公式一样原生,并且 b) 您可以使用 VBA,例如 dead-simple -我提供的即插即用例程,可以在任何版本的Excel中实现。您上面的帖子不排除 PQ 或 VBA,而另一篇帖子则以暗示您信息不正确的方式将它们排除在外。
  • 否决两个完全有效的建议 - 其中一个是由其他人提出的 - 简直是粗鲁。这两个答案都很有用。您的上述要求都不排除这两种情况。两者都借鉴了我对 VBA/Excel 开发的广泛知识,这是我多年来一直在做的事情,并与您免费分享。我仍然会在另一个线程上发布照片,展示如何轻松地实现我的 VBA 解决方案以获得完整性,但基本上在这一点上,我希望你不要费心去看它,并使用其他一些劣质的结果而不是采取再看一个一流的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 2020-02-20
  • 1970-01-01
相关资源
最近更新 更多