在Excel中更改表列的顺序
那么,它现在可能还不太容易。
我想按照特定的顺序在Excel中的表格内容的列。
即我希望前缀('Product'/'product')
所有列以字母顺序结束,除了“Product_ID”是其中的第一个和其他一切保持不变。
即演示
Cust_ID | 名称| Product_Quantity | PRODUCT_NAME | Product_ID | Price_per_quantity
1 | Rohit | 4 | 笔| A23 | $ 2
2 | Tim | 3 | 锅| P41 | $ 3
至
Cust_ID | 名称| Price_per_quanity | Product_id | product_Name | Product_Quantity
1 | Rohit | $ 2 | A23 …(各栏数据)
我希望有一个使用VBA脚本(包含更多列)的n
列(带/不带)的通用方法。
另外(第二个问题)不pipe有什么价值,都是由SO成员来解决的。
假设a
在A1中,在顶部插入一行并填充:
=COLUMN()
复制在所有填充的列上。 select所有填充的列并按行1最大到最小sorting。
按着这些次序
- 插入一个虚拟的顶部行,值1,2,3,4
- 复制包括这个虚拟行在内的所有数据 – >粘贴特殊 – >转置在其他位置
- 使用“从最大到最小”使用“扩展”选项对转置数据进行sorting
- 现在再次复制数据,这次没有第一个虚拟列 – >粘贴特殊 – >转置。
呼…
附图。
select您想要sorting的单元格。 右键点击它们,selectSort
– > Custom Sort
点击选项,然后selectLeft to Right
。 并设置如图所示的设置:
然后按确定。
这个答案是@pnuts给出的答案的附录,如果可能的话,这个答案要简单得多。 如果由于某种原因无法按列进行sorting,则获得结果的一种方法是对input进行转置(即交换行和列),按行按字母顺序sorting,然后转置回原始格式。 这里是一步一步的指导如何做到这一点:
突出显示您希望转置数据转到的电子表格的4x3
区域。 然后在上面的例子中input一个转置数组公式=TRANSPOSE($A$1:$D$3)
。 请注意,单元格范围是绝对的( $
),所以它不会随着Excels在范围内复制而改变。 还要记得按CTRL + ALT + ENTER ,而不是仅仅input ,告诉Excel你正在input一个数组公式。 接下来将这些数据复制到一个新的位置(仅限于数值),并按字母顺序降序排列:
最后一步是把这个sorting的数据转置,以获得最终的结果:
再次,这涉及使用TRANSPOSE
函数与数组公式。
现在,您的原始数据按列分类。