[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【练习-035】根据原始数据生成简单统计表格

岀题目的:
  1、了解批处理对xls文件的操作
  2、增强对批处理实用性的认识
加分原则:
  满分20分,视情况加分(以思路为重)
题目如下:
  有一张游客统计表内容如下(见附件a.xls):
  1. 星期        参观人数
  2. 一        370
  3. 二        32
  4. 三        654
  5. 四        254
  6. 五        184
  7. 六        599
  8. 天        20
  9. 一        694
  10. 二        128
  11. 三        948
  12. 四        338
  13. 五        255
  14. 六        110
  15. 天        212
  16. ...................
  17. 六        958
  18. 天        865
  19. 一        225
  20. 二        620
复制代码

  要求通过批处理生成统计表b.xls,内容如下(仅为示例):
  1. 星期        天数(天)        参观人数(人)        日圴参观人数(人/天)
  2. 一        11        4950        450
  3. 二        11        4367        397
  4. 三        10        4660        466
  5. 四        10        4030        403
  6. 五        10        3870        387
  7. 六        10        4000        400
  8. 天        10        3930        393
  9. 合计        72        29807        据统计星期三为游客最多日
复制代码

相关说明
  统计表中日均参观人数不做小数位限制(实际上批处理运算结果并无小数位)
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
***共同提高***

不知道兄弟是哪里对不上号,是b.xls中的结果吗?我在题目中标明了仅为示例啊。
***共同提高***

TOP

pusofalse版主的反映太快,为给大家留点思考的时间,先将两贴屏蔽。
***共同提高***

TOP

原帖由 terse 于 2009-2-23 15:43 发表
我怎么计算出小数啊  是我这里出错吗?

正确结果是有小数的,我上面的b.xls内容标明了仅为示例啊。
***共同提高***

TOP

如果运用得得当,代码应该能在10行内解决问题,大家都踊跃思考了。
***共同提高***

TOP

连随风兄都出面了,只好附上本人的拙码了:
请在运行前将#改为tab(制表符)
  1. @echo off&setlocal enabledelayedexpansion
  2. set "tab=#"&set /a n+=1
  3. echo 星期%tab%天数(天)%tab%参观人数(人)%tab%日均参观人数(人/天)>b.xls
  4. for %%a in (一 二 三 四 五 六 天) do (
  5.    set /a n+=1
  6.     echo %%a%tab%=countif^(a.xls^^^!A:A,A!n!^)%tab%=sumif^(a.xls^^^!$A:$A,A!n!,a.xls^^^!$B:$B^)%tab%=C!n!/B!n!>>b.xls
  7. )
  8. echo 合计%tab%=sum^(b2:b8^)%tab%=sum^(c2:c8^)%tab%^="据统计星期"^&OFFSET(A2:A8,MATCH(MAX(D2:D8),D2:D8,0)-1,0,1,1)^&"为最多参观天数">>b.xls
  9. start a.xls&start b.xls
复制代码

[ 本帖最后由 batman 于 2009-2-23 21:09 编辑 ]
***共同提高***

TOP

返回列表