如何编写一个程序在excel中对该列表进行排序?
我在问这个问题之前使用过搜索功能,以前没有人问过这个问题 该程序能够在excel中对列表进行排序,然后输出给定规格的最便宜价格。 注意:我不知道如何在stackoverflow中格式化电子表格,所以我将只链接一个excel文件,希望这不会违反规则 例如,给定此列表(真实数据,但删除了电话号码和姓名): 因此,如果我亲自整理这份清单,那将需要很长时间 这是我手动操作的方式。首先,找到所有的规格,然后像这样列出最便宜的价格:(注意,pf部分配备家具,ff全部配备家具。3r2b表示3间卧室2间浴室) 3r2b ff 3500 RM 3r2b pf 3200室 2+1r 2b pf 3000室 2+1r 2b固定框架3500室 2+1r 3b ff 3000室 3+1r3b ff 5500室 4r3b ff 4500令吉 然后根据现在排序的数据,输出最便宜的价格,如下所示: 3r2b ff 3500 RM 3r2b pf 3200室 2+1r 3b ff 3000室 4r3b ff 4500 RM 因此,程序能够遍历一个列表,然后对其进行排序。在对所有数据进行排序之后,输出应该与上面的一样 我需要一些关于如何编写这样一个程序的一般想法。一些指针,技术性的东西,任何东西都会有帮助 希望我已经尽可能清楚地说明了我想要实现的目标,如果没有,我将在下面的评论中进一步澄清如何编写一个程序在excel中对该列表进行排序?,excel,sorting,Excel,Sorting,我在问这个问题之前使用过搜索功能,以前没有人问过这个问题 该程序能够在excel中对列表进行排序,然后输出给定规格的最便宜价格。 注意:我不知道如何在stackoverflow中格式化电子表格,所以我将只链接一个excel文件,希望这不会违反规则 例如,给定此列表(真实数据,但删除了电话号码和姓名): 因此,如果我亲自整理这份清单,那将需要很长时间 这是我手动操作的方式。首先,找到所有的规格,然后像这样列出最便宜的价格:(注意,pf部分配备家具,ff全部配备家具。3r2b表示3间卧室2间浴室)
提前感谢。您的第一步应该是重新组织文件以包含可排序数据。到目前为止,示例文件包含不一致的格式。向前推进的一种方法可能是首先将数据转换为常规表。下面的小拆分函数可能有助于此转换
Function mysplit(r As Range)
mysplit = split(r, Chr(10))
End Function
通过将此函数作为4列的矩阵函数输入(选择四个连续单元格[c1:f1],输入公式=mysplit(a[1])
,然后随
提交),可以在表中引用此函数
{=…}
)
然后向下复制此公式,直到捕获所有数据
但是,仍然需要手动进一步整理结果,如下所示(我将结果放在一个新表中,从a列开始):
但即使在我的第一行“已处理”中也存在不足之处:B列和D列仍然包含格式不正确的数据。B中有复合数据(r和B计数),D列有时包含范围
一旦有了一个完全规则的表,对它进行排序将变得很简单:
A B C D E F G
sf r x b state ask min
--------------------------------
1283 3 2 Ff 3700
1092 2 1 2 pf 3200 3000
1283 3 2 Pf 3500
1283 3 2 pf 3500
1092 2 1 2 pf 3200 3000
...
但是如果没有一个规则的一致的格式,有意义的排序几乎是不可能的。这是非常有用的,先生,所以首先我需要使一切都一致和规则。但是先生,你能再解释一下mysplit函数吗?这一点我不太明白。@johndoe666,请看一下我刚刚添加到帖子中的图片。它们说明了如何创建和使用函数
mysplit()
。但是,正如我已经解释过的:重组工作的最大部分仍然需要手动交互……手动重组对我来说很好,谢谢您的时间和帮助,先生!
A B C D E F G
sf r x b state ask min
--------------------------------
1283 3 2 Ff 3700
1092 2 1 2 pf 3200 3000
1283 3 2 Pf 3500
1283 3 2 pf 3500
1092 2 1 2 pf 3200 3000
...