【问题标题】:Auto Grouping/Merging in ExcelExcel中的自动分组/合并
【发布时间】:2017-06-15 17:57:58
【问题描述】:

我认为所附图片比我能用文字更好地描述我试图在 excel 中找到的功能。

有没有办法根据列中的内容自动分组,如图所示?对于显示的示例,这是可以实现的,但是当有多达 30 个组和许多子组类型时,我想知道 excel 是否可以自动检测并通过列表工作,按所示分组。

【问题讨论】:

  • Excel 没有执行此操作的本机函数。它需要通过 vba 进行编程。
  • 您是要合并单元格还是要使用加号和减号按钮对行进行分组以显示和隐藏行?如果可以使用一些 VBA 代码来实现。可能值得注意的是,合并单元格会使排序、过滤和一般使用 excel 中的数据变得更加困难。
  • @ScottCraner - 谢谢。是否有任何类似的示例可以分享,因为我的 Excel VBA 知识并没有延伸到这么远

标签: excel merge grouping


【解决方案1】:

您可以使用条件格式获得类似的结果。选择整个表格并创建一个新的条件格式规则并选择公式并输入 =A1=A2 将格式字体设置为白色(我使用了非常浅的灰色以表明数据仍然存在)

要获得边框,请再次执行相同操作,这次输入公式 =A1A2 并将顶部边框设为黑色。

和你的不完全一样,但很接近。

【讨论】:

  • 这个公式将保持靠近中心的那个:=COUNTIF(A$1:A1,A1)=INT(COUNTIF(A:A,A1)/2)+1 代替你的=A1=A2
  • 这是个好主意,但对我不起作用。该公式应该适用于“第 1 组”,但除此之外,计数与行号不匹配,因此可能需要将 row() 添加到某处才能使其正常工作。
  • 感谢 Scott,我在公式中添加了 row(),它似乎有效(不要问我如何)。它仅适用于 A 列范围,因此 B 列需要使用 B 而不是 A 的自己的公式。 =COUNTIF(A$1:A1,A1)+ROW()INT(COUNTIF(A:A,A1)/2 )+行()
  • 抱歉应该是=AND(NOT(COUNTIF(A$1:A1,A1)=INT(COUNTIF(A:A,A1)/2)),COUNTIF(A:A,A1)<>1)
  • 让我们再试一次,我成功了:=AND(NOT(COUNTIF(A$1:A1,A1)=INT(COUNTIF(A:A,A1)/2)+1),COUNTIF(A:A,A1)<>1) 请参阅:imgur.com/a/X0YtG
猜你喜欢
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 2020-08-30
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多