嗯,它可能不再那么容易了。
我想按特定顺序在Excel中使用表格内容对列进行排序。
即我希望所有带有前缀('Product'/'product')
的列都按字母顺序排在最后,除了'Product_ID'是第一个,其他一切都保持不变。
即演示
Cust_ID |名称| Product_Quantity | PRODUCT_NAME | Product_ID | Price_per_quantity
1 |罗希特| 4 |笔| A23 | $ 2
2 |蒂姆| 3 |锅| P41 | $ 3'/ P>
到
Cust_ID |名称| Price_per_quanity | Product_id | product_Name | Product_Quantity
1 |罗希特| 2美元| A23 ......(各栏数据)
我希望n
列的广义方式(有/无)使用包含更多列的VBA 脚本。
另外(第2个问题)无论有哪个SO成员解决的价值,都要反转列。
答案 0 :(得分:3)
假设a
位于A1中,请在顶部插入一行并填充:
=COLUMN()
复制到所有填充列的上方。选择所有填充的列并按Row1最大排序为最小。
答案 1 :(得分:1)
这个答案是@pnuts给出的回复的附录,如果可能的话,它会更简单。如果由于某种原因无法按列排序,实现结果的一种方法是采用输入的转置(即交换行和列),按字母顺序按行排序,然后转置回来获取原始格式。以下是如何执行此操作的分步指南:
突出显示您希望转置数据的电子表格的4x3
区域。然后输入转置数组公式,在上面的示例中为=TRANSPOSE($A$1:$D$3)
。请注意,单元格范围是绝对的($
),因此当Excel将其复制到范围内时,它不会发生变化。还记得按 CTRL + ALT + ENTER ,而不是仅仅 ENTER ,告诉Excel您正在输入数组公式。接下来将此数据复制到新位置(仅限值),并按字母列降序排序:
最后一步是对此排序数据进行转置以获得最终结果:
同样,这涉及将TRANSPOSE
函数与数组公式一起使用。
现在,您可以按列对原始数据进行排序。
答案 2 :(得分:1)
请按照以下步骤操作
答案 3 :(得分:1)