重组数据结构

重组数据结构

我有一张包含 35000 行的工作表,与下面第一个表格中的行类似,我想将其重新排列为下表中的行。 https://i.stack.imgur.com/Zc4u1.png 因此,我想以一种方式重新排列这些数据,以便将特定范围内的所有人GroupID放在单独的列中。

我想我应该为特定行的每一行添加一个计数器GroupID?另外,我想这类问题最好在数据库中解决?

因为我经常有这种数据,所以我需要比现在更快地解决它。


不是来自 OP。评论澄清

GroupID是主键。
名称可以重复,但 70% 以上是唯一的。
排序顺序不重要。
GroupID不同Ins最多为 10 个。GroupID
/Ins/ID/Name/Sales 块的有效最大值约为 ~20k。

答案1

我建议你使用数据透视表。在 Google 上搜索“excel 数据透视表教程”会显示许多可能有帮助的网站。

至于数据库和报告,SQL 和 SSRS 可能会为您提供更多,但这取决于您的需求。

SQL Server Reporting Services (SSRS) 是 Microsoft 推出的一款基于服务器的报告生成软件系统。它通过 Web 界面进行管理,可用于准备和交付各种交互式和打印式报告。SSRS 的竞争对手包括 Crystal Reports。

答案2

我很遗憾地注意到,您在这个问题上没有取得很好的进展,希望您无论如何都能找到解决方案,但如果没有,我至少会提供一个临时答案。由于各种原因,它不是高度自动化的,包括我不知道您使用的是哪个版本的 Excel,而且解释复杂的公式很乏味!另外,我注意到“我经常有这种数据”,所以也许一个“合适的”解决方案是数据库路由,或者至少是 VBA,如果数据格式相当一致且处理要求重复。不过对于 VBA,您更有可能在 StackOverflow 上得到一个很好的答案。

因此,我得到的结果是:

样本输出关于 SU469870

顺序与您的示例不同,但您确实提到了顺序并不重要。此外,我有一个差异(突出显示),但这是由于您的输入和输出示例之间存在差异。

我基本上通过以下步骤实现了这一点,假设数据位于ColumnA:E列标签中Row1

  1. 按 GroupID排序A:F
  2. 输入F2关键词=IF(A2=A1,"","b")并抄下来。
  3. 过滤F并选择b
  4. 复制可见至H1
  5. 删除可见数据ColumnA:F
  6. 按 GroupID排序A:F
  7. 复制可见至M1
  8. 删除可见数据ColumnA:F
  9. 重复步骤 6-8 约 8 次(粘贴时每次跨越 5 列) - 直到没有剩余数据A:F
  10. 删除A:G、最后一列以及任何其他包含公式的单元格(显示为b)。
  11. 手动对齐块(可行吗? - 如果有必要应该能够实现“自动化”)。
  12. 删除最左侧以外的 GroupID 列。
  13. 应用边框。

没有任何意义b- 只是任何标记,但我选择了那个字母,因为移动一个b一次锁定。

希望这一切都是不言自明的,但如果需要的话我很乐意澄清(或尝试修复!)。

请注意,我已经在副本上进行了操作,建议您也这样做,因为上面使用了 Delete。

相关内容