我在问这个问题之前已经使用了搜索功能,之前没有人问过这个问题。
此程序能够对excel中的列表进行排序,然后输出给定规格的最便宜的价格。
注意:我不知道如何在stackoverflow中格式化电子表格,所以我只是链接一个excel文件,希望这不符合规则。
例如,给定此列表(真实数据但删除了电话号码和姓名):example list
因此,如果我自己对此列表进行排序,则需要很长时间。
这就是我手动完成的方法。首先,找到所有的规格,并把最便宜的价格像这样:(注意,pf是部分配备,ff配套齐全.3r2b意味着3间卧室2间浴室)
3r2b ff RM 3500
3r2b pf RM 3200
2 + 1r 2b pf RM 3000
2 + 1r 2b ff RM 3500
2 + 1r 3b ff RM 3000
3 + 1r3b ff RM 5500
4r3b ff RM 4500
然后基于这个现在排序的数据,输出这样的最便宜的价格:
3r2b ff RM 3500
3r2b pf RM 3200
2 + 1r 3b ff RM 3000
4r3b ff RM 4500
因此程序可以通过列表然后对其进行排序。排序完所有数据后,输出应该与我上面的输出相似。
我需要一些关于如何编写这样的程序的一般性想法。一些指针,技术内容,任何事情都会有所帮助。
希望我尽可能清楚地了解我想要实现的目标,如果没有,我会在下面的评论中进一步澄清。
提前致谢。
答案 0 :(得分:0)
您的第一步应该是恢复文件以包含可排序的数据。到目前为止,您的示例文件包含不一致的格式前进的一种方法可能是首先将数据转换为常规表。这种转换可能受到以下小分割函数的帮助
Function mysplit(r As Range)
mysplit = split(r, Chr(10))
End Function
此功能可以在表格中引用,输入为4列的矩阵函数(选择四个连续的单元格[c1:f1],输入公式=mysplit(a[1])
并提交<cntrl><shift><enter>
)。
(注意公式周围的花括号{= ... }
!)
然后将此公式复制下来,直到捕获完所有数据。
但是,结果仍然需要手动进一步整理,如下所示(我将结果放在一个新表中,从A列开始):
A B C D
--------------------------------
1283 3r2b Ff 3700
1092 2+1r 2b pf 3000 - 3200
1283 3r2b Pf 3500
1283 3r2b pf 3500
1092 2+1r 2b pf 3000 - 3200
... following entries still need futher processing ...
Facing Damansara Perdana 2 Rooms + 1 Hobby Room 2 toilets 1099 SQf
SIE 1705SF 4R3B FF PRICE 6000
This is my unit 35-2 1700sqft 4r3b Ff Price asking 5500
1092sf 2+1r 2b ff
1092sf 2+1r3b Ff Price 3000
Reflection 1099sf 3r+b Ff Asking 3.7k Min can go 3.5k only
rental min 5.5k thks. .1700sq ft 3+1r3b fully furnished unit
1092sf 2+1r 2b ff price 3600
size 1283sf 3r2b pf price 3500
1705sf Pf Second preference is to rent at RM 4,500 partly furnished with 1 year term
1298sf 3r2b pf 3300
size 1092sf 2+1r 2b pf price 3000 - 3200
size 1092sf 2+1r2b pf price 3000 - 3300
size 1283sf 3r2b pf price 3200
但即使是在我的第一个&#34;处理过的&#34;线条存在缺陷: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
...
但如果没有定期的一致格式,有意义的排序几乎是不可能的。