如何在 Excel 中扩展项目列,以便每个项目都在自己的行上?

JW.*_*JW. 5 sorting microsoft-excel-2007 microsoft-excel microsoft-excel-2010

我有这个:

  -----A-----|-----B-----|-----C-----
1|cherry     |apple      |banana
2|kiwi       |banana     |cantaloupe
3|peach      |grape      |peach
4|           |peach      |watermelon
5|           |strawberry |
Run Code Online (Sandbox Code Playgroud)

我想要这个:

  -----A-----|-----B-----|-----C-----
1|           |apple      |
2|           |banana     |banana
3|           |           |cantaloupe
4|cherry     |           |
5|           |grape      |
6|kiwi       |           |
7|peach      |peach      |peach
8|           |strawberry |
9|           |           |watermelon
Run Code Online (Sandbox Code Playgroud)

基本上根据列中的内容展开每一列,并在自己的行上整理类似的元素。(假设每一列都已排序。)

我一直通过玩剪切粘贴的 Ginsu 厨师来手动执行此操作,但想知道是否有自动方式?(我有 Excel 2007,但很快就会得到 Excel 2010。)

或者,是否有其他工具比 Excel 更好?

谢谢你的时间。

pnu*_*uts 4

VBA 不是必需的。创建所有实例的列表(假设 ColumnD 包含行:苹果、香蕉、哈密瓜、樱桃、葡萄、猕猴桃、桃子、草莓、西瓜),然后插入=IF(ISERROR(INDEX(A$1:A$5,MATCH($D1,A$1:A$5,0))),"",INDEX(A$1:A$5,MATCH($D1,A$1:A$5,0)))到 E1 中。将 E1 的右下角拖动到 G1。双击 G1 的右下角。复制/粘贴值。删除 A:D 列。