Scalper 发表于 2007-4-18 17:36:26

TicketCalc 铁路客运运价计算Excel工作簿

本帖最后由 Scalper 于 2013-9-21 08:08 编辑

组件包括:
TicketCalc —— 铁路客运运价计算Excel工作簿
LPCalc —— 铁路行李包裹运价计算Excel工作簿(作为独立组件停止更新)
TrainCalendar —— 隔日开行和多发到站列车查询Excel工作簿(暂停更新)

TicketCalc
客票工作表支持除点对点计价方式外的所有现行铁路票价计价方式,包括国铁标准计价;国铁价率900千米起算;区段卧铺优惠方式;全程统一价率(联合票价率)等计价方式。实现可选联合票和分票种两种方式计算附加费,附加费独立计算。
签证工作表支持直通票中转签证,普通票和直通票始发签证和中途下车签证差价计算;硬席乘车证签软席、软座签硬卧、不同浮动率签证差价计算。
行包工作表支持行李、包裹,一段行李一段包裹的运价计算,保价价格以及逾期违约金计算。

LPCalc
支持行李、包裹,一段行李一段包裹的运价计算,保价价格以及逾期违约金计算。

TrainCalendar
在列车开行有效期内通过始发站车次查询隔日开行和多发到站列车的开行情况并按照日历格式显示。许可与免责

这是一个免费的工作簿,使用人可以任意发布这个工作簿而无需事先征得作者的许可,但作者不希望使用人对其进行反向工作,包括但不仅限于,获取或试图获取工作簿和/或表的保护密码。作者不对本工作簿计算的过程和/或结果的可用性、合法性、精确性、可靠性及内容的使用结果和所有其它相关事项提供明示或默许的担保,也不作陈述。作者亦不对因本工作簿引起的任何赔偿负责,包括但不仅限于特殊的,偶然的或间接的赔偿。运行环境

工作簿显示语言使用简体中文,zh-CN,对于Microsoft Windows操作系统应选用简体中文版本的Windows或支持远东字符集显示或安装有Windows 简体中文 Language Pack的非简体中文版本Windows环境下运行。
工作簿支持的Office Excel版本:
Microsoft Excel 97, Excel 2000, Office XP Excel 2002, Office Excel 2003;
Microsoft Office Excel 2007, Office Excel 2010, Office Excel 2013;
Microsoft Office Excel 2004 for Mac, Office Excel 2008 for Mac, Office Excel 2011 for Mac。
对于Excel 2002及以前版本,特别是非双字节版本,Office Mac版本可能会出现未知的显示异常。主要参考文电

· 中华人民共和国铁道部 铁运〔1997〕101号 《铁路旅客运输规程》
· 中华人民共和国铁道部 铁运〔1997〕102号 《铁路客运运价规则》
· 中华人民共和国铁道部 铁运〔1997〕103号 《铁路旅客运输办理细则》
· 中华人民共和国铁道部 铁运〔2012〕302号 《旅客票价表》
· 中华人民共和国铁道部 铁运函〔2003〕545号 铁路旅客运输规程附件三 《行李包裹运价表》
· 《铁路客货运输专刊》 中国铁道出版社
· 《中国铁路客票发售和预订系统5.0版手册》 中国铁道出版社
· Office Excel 2003 Bible MS PressTicketCalc 工作簿结构

Sheet1!后台计算
Sheet2!客票
Sheet3!签证
Sheet4!行包
Sheet5!定制
Sheet6!选项
Sheet7!帮助文本
Sheet8!帮助

TicketCalc

│.xml

├─docProps
│      app.xml
│      core.xml
│      
├─xl
││calcChain.xml
││sharedStrings.xml
││styles.xml
││workbook.xml
││
│├─drawings
││      vmlDrawing1.vml
││      vmlDrawing2.vml
││      vmlDrawing3.vml
││      vmlDrawing4.vml
││      vmlDrawing5.vml
││      vmlDrawing6.vml
││      vmlDrawing7.vml
││      
│├─theme
││      theme1.xml
││      
│├─worksheets
│││sheet1.xml
│││sheet2.xml
│││sheet3.xml
│││sheet4.xml
│││sheet5.xml
│││sheet6.xml
│││sheet7.xml
│││sheet8.xml
│││
││└─_rels
││          sheet1.xml.rels
││          sheet2.xml.rels
││          sheet3.xml.rels
││          sheet4.xml.rels
││          sheet5.xml.rels
││          sheet6.xml.rels
││          sheet8.xml.rels
││         
│└─_rels
│          workbook.xml.rels
│         
└─_rels
      .rels
相关连接

http://bbs.hasea.com/forum.php?mod=viewthread&tid=223686
http://bbs.hasea.com/forum.php?mod=viewthread&tid=352554
http://www.newsmth.net/bbstcon.php?board=RailWay&gid=234924


人在沈大 发表于 2007-4-19 11:30:09

不错啊

老先生 发表于 2007-4-19 17:14:00

谢谢!

亮亮 发表于 2007-6-16 13:52:26

有个错误是从最开始的版本就存在的,一直没有改正,就是200km的候车室空调钱,按照规定,1~200km是不收的,201km及以上收1元,在你的软件计算中,199和200km的票价是不一样的,但是实际是一个票价,问题就出在那1元钱在200km的时候应该不加。望改正!!

[ 本帖最后由 亮亮 于 2007-6-16 13:53 编辑 ]

Scalper 发表于 2007-6-25 13:30:54

原帖由 亮亮 于 2007年6月16日 13:52 发表 http://bbs.hasea.com/images/common/back.gif
有个错误是从最开始的版本就存在的,一直没有改正,就是200km的候车室空调钱,按照规定,1~200km是不收的,201km及以上收1元,在你的软件计算中,199和200km的票价是不一样的,但是实际是一个票价,问题就出在那 ...

非常感谢亮亮发现了错误,并说明了错误。谢谢亮亮。

由于本人疏忽,此前所有版本的200千米处票价中的车站空调费部分计算错误,导致200千米处票价最终计算结果错误。
错误的产生是:

1.由于错误的理解了一份资料上车站空调费部分的相关描述,原文是:“200km以上的硬席客票……”,根据铁运102号《铁路客运运价规则》总则第七条,“‘以上’、‘以下’、‘以内’、‘以外’、‘以前’、‘以后’均包括本数。”错误的将“运价里程>=200”作为公式判断条件。

2.没有对输出结果进行认真的核对,在第一个版本问世后不久,我得到了一份从客票系统中导出的票价表,distance_price表,随后编写一个基于VBA的测试脚本并逐里程的进行了测试。但由于distance_price表中是不含附加费的票价,导致错误没有在测试阶段被发现。

再次谢谢亮亮。

人间四月天 发表于 2007-6-25 17:58:24

我弄了半天``怎么没整明白啊``
南昌-北京西 1449KMZ66新空特快

我用这个东西算的价与现实的对不上啊`

请指点:loveliness:

Scalper 发表于 2007-6-25 18:07:49

浮动率向上调到50%试试。

亮亮 发表于 2007-6-25 18:21:34

原帖由 Scalper 于 2007-6-25 13:30 发表 http://bbs.hasea.com/images/common/back.gif


非常感谢亮亮发现了错误,并说明了错误。谢谢亮亮。

由于本人疏忽,此前所有版本的200千米处票价中的车站空调费部分计算错误,导致200千米处票价最终计算结果错误。
错误的产生是:

1.由于错误的理解 ...
共同学习!共同进步!

happy5025 发表于 2007-6-25 18:23:19

原帖由 Scalper 于 2007-6-25 18:07 发表 http://bbs.hasea.com/images/common/back.gif
浮动率向上调到50%试试。
为什么还要上调到50%啊?本身不就是这个价吗?我也没弄明白

Scalper 发表于 2007-6-25 18:31:13

原帖由 happy5025 于 2007年6月25日 18:23 发表 http://bbs.hasea.com/images/common/back.gif

为什么还要上调到50%啊?本身不就是这个价吗?我也没弄明白
因为新型空调车的票价是在基本票价上浮50%确定的。
按照逻辑,似乎应该再选择了新型有空调后上浮率自动调整为50%作为默认。但是,由于Excel本身的限制,加之本人不希望在这个完全由公式完成的工作表里加入VBA,所以只能通过手工对浮动率加以调整。

Scalper 发表于 2007-6-25 18:34:08

原帖由 亮亮 于 2007年6月25日 18:21 发表 http://bbs.hasea.com/images/common/back.gif

共同学习!共同进步!
想起当年辽师傅的苹果理论。

zhukvo 发表于 2007-6-25 23:37:56

请问什么是国铁900起算?
我手里有一张以前在网上下载的票,是沈阳到阜新的N158的硬卧(上),票价是38元,182公里
用这个程序显示的是50元,点击“国铁900起算”之后显示的是24元,还是不明白低语400公里的卧铺票是怎么算的,望刘大师赐教

Scalper 发表于 2007-6-26 09:04:53

原帖由 zhukvo 于 2007年6月25日 23:37 发表 http://bbs.hasea.com/images/common/back.gif
我手里有一张以前在网上下载的票,是沈阳到阜新的N158的硬卧(上),票价是38元,182公里
用这个程序显示的是50元 ...
N158在2006年12月31日前有一段时间是执行空闲卧铺优惠的。
不知道你的那张票是否在那个时间段。
如果是,在TicketCalc里可以作这样的设置:
红色高亮位置勾选按席别/票种浮动,在按∧∨选择空闲卧铺优惠,输入-50。

Scalper 发表于 2007-6-26 09:07:33

原帖由 zhukvo 于 2007年6月25日 23:37 发表 http://bbs.hasea.com/images/common/back.gif
请问什么是国铁900起算?

在铁路客票发售和预订系统中,计价方式有10种:
1.国铁价率;
2.与国铁通算通存;
3.与国铁通算分存;
4.地铁价率;
5.地铁价率卧铺通存;
6.地铁价率卧铺分存;
7.站间价格;
8.站间价格卧铺通存;
9.站间价格卧铺分存;
10. 国铁价率,900千米起算

国铁价率,900km起算的算法为:
=(900km + 计算里程)处国铁票价 – 900km处国铁票价

以第六次大面积提速新开行的武昌-深圳的K555次为例:
该车经过3个计价区段:
1. 国铁区段:武昌-定南区间,运价里程919km,国铁价率0.5;
2. 地铁区段:定南-东莞区间,运价里程306km,国铁价率,900km起算,再上浮0.35;
3. 特价线段:东莞-深圳区间,运价里程57km,国铁价率,900km起算,再上浮0.35。

现计算K555次软席客快速卧(下)联合全价票:
国铁部分略,
客票:143.00元
加快票:14.00元
空调票:18.00元
卧铺票:138.00元
合计:143.00 + 14.00 * 2 + 18.00 + 138.00 = 327.00元

地铁区段,定南-东莞区间,运价里程306km:
900 + 306 = 1206(km)
1206km国铁基本价:
客票:122.00元
加快票:12.00元
空调票:15.00元
卧铺票:117.00元

900km国铁基本价:
客票:92.00元
加快票:9.00元
空调票:11.00元
卧铺票:88.00元

分票种价格差:
客票:122.00 – 92.00 = 30.00 (元)
加快票:12.00 – 9.00 = 3.00 (元)
空调票:15.00 – 11.00 = 4.00 (元)
卧铺票:117.00 – 88.00 = 29.00 (元)

上浮50%:
客票:30.00 * 150% = 45.00 (元)
加快票:3.00 * 150% = 4.50 ≈ 5.00 (元)
空调票:4.00 * 150% = 6.00 (元)
卧铺票:29.00 * 150% = 43.50 ≈ 44.00 (元)

再上浮35%:
客票:45.00 * 135% = 60.75 ≈ 61.00 (元)
加快票:5.00 * 135% = 6.75 ≈ 7.00 (元)
空调票:6.00 * 135% = 8.10 ≈ 8.00 (元)
卧铺票:44.00 * 135% = 59.40 ≈ 59.00 (元)

合计:61.00 + 7.00 * 2 + 8.00 + 59.00 = 142.00元

同理计算特价线段:东莞-深圳区间,运价里程57km,国铁价率,900km起算,再上浮0.35,计:40.00元。

加总得:327.00 + 142.00 + 40.00 + 10.00 + 1.00 = 520.00 (元)

沈局辽段 发表于 2007-6-26 12:07:46

1458一下!

亮亮 发表于 2007-6-26 12:39:18

小建议:能不能把行李和各类包裹的运价也加进去?

zhukvo 发表于 2007-6-26 23:24:24

太受教了!!!!

Scalper 发表于 2007-6-27 09:03:36

原帖由 亮亮 于 2007年6月26日 12:39 发表 http://bbs.hasea.com/images/common/back.gif
小建议:能不能把行李和各类包裹的运价也加进去?
去年年初的时候做过一个LuggageCalc,就是一个架子,后来比较忙就放下了。
昨天找了找,应该是在我家里的电脑里,等回家捡起来弄完它。

广梅汕铁路 发表于 2007-6-28 21:08:03

我还是迷糊

人间四月天 发表于 2007-6-28 22:35:23

简单有方便
十分感谢LIUMING大哥
页: [1] 2 3 4 5
查看完整版本: TicketCalc 铁路客运运价计算Excel工作簿