本文将使用 Python Pandas 库,从 Excel 表格中名为'数据源'的 Sheet 读取数据,并生成名为'指标明细'的 Sheet,包含指标值、得分、排名等信息。

'指标明细' Sheet 内容结构:

  1. 第一行标题:'1月省端画像指标计算及排名明细',字体微软雅黑,字号 22。
  2. 第二行到第六行的 A 列和 B 列合并单元格,内容分别为'序号'和'对应省份'。
  3. 第二行到第四行的 C 列合并单元格内容为'类型'。
  4. 第五行 C 列为'基准值',第六行 C 列为'挑战值'。
  5. 第二行的 D 到 T 列合并单元格,内容为'覆盖类'。
  6. 第三行的 D 到 F 列为合并单元格,内容为'5G 驻留时长占比'。
  7. 第三行的 G 到 H 列为合并单元格,内容为'5G 全网弱覆盖小区占比'。
  8. 第三行的 J 到 L 列为合并单元格,内容为'5G 无覆盖问题场景占比'。
  9. 第三行的 M 到 O 列为合并单元格,内容为'4G 无覆盖问题场景占比'。
  10. 第三行的 P 到 R 列为合并单元格,内容为'4GMDT 弱覆盖占比'。
  11. 第三行的 S 到 T 列为合并单元格,内容为'覆盖类指标均值'。
  12. 第四行的 D 到 F 列内容为'指标值', '得分', '排名'。
  13. 第四行的 G 到 H 列内容为'指标值', '得分', '排名'。
  14. 第四行的 J 到 L 列内容为'指标值', '得分', '排名'。
  15. 第四行的 M 到 O 列内容为'指标值', '得分', '排名'。
  16. 第四行的 P 到 R 列内容为'指标值', '得分', '排名'。
  17. 第四行的 S 到 T 列内容为'得分', '排名'。
  18. 第五行 D 到 F 列内容为'93.00%', '60', '-'。
  19. 第五行 G 到 H 列内容为'0.50%', '60', '-'。
  20. 第五行 J 到 L 列内容为'5.00%', '60', '-'。
  21. 第五行 M 到 O 列内容为'3.00%', '60', '-'。
  22. 第五行 P 到 R 列内容为'2.50%', '60', '-'。
  23. 第五行 S 到 T 列内容为'60', '-'。
  24. 第六行 D 到 F 列内容为'97.00%', '100', '-'。
  25. 第六行 G 到 H 列内容为'0.15%', '100', '-'。
  26. 第六行 J 到 L 列内容为'3.00%', '100', '-'。
  27. 第六行 M 到 O 列内容为'1.00%', '100', '-'。
  28. 第六行 P 到 R 列内容为'1.00%', '100', '-'。
  29. 第六行 S 到 T 列内容为'100', '-'。

第七行起数据:

  1. 第七行 A 列内容为'1',B 列内容为'北京',C 列内容为'省份'。
  2. D 列内容为 =VLOOKUP($B7,数据源!$B:$C,2,FALSE),用于从 '数据源' Sheet 中查找对应省份的指标值。
  3. E 列内容为 =ROUND((IF(D7<D$5,D7/D$5*60,IF(AND(D7<D$6,D7>=D$5),60+(100-60)*(D7-D$5)/(D$6-D$5),100))),0),用于根据指标值和基准值、挑战值计算得分。
  4. F 列内容为 =RANK.EQ(D7,D$7:D$37,0),用于计算指标值的排名。
  5. 剩余列的公式类似,根据数据源和对应指标计算指标值、得分和排名。

完整代码:

由于这是一个非常具体的任务,需要对数据源的具体情况进行分析和处理,而且还需要操作 Excel 文件,这里无法提供完整的代码。建议您参考 pandas 和 openpyxl 库的相关文档和教程,了解如何读取和操作 Excel 文件,以及如何使用 pandas 进行数据处理和计算。如果您遇到具体的问题,也可以在 Stack Overflow 等技术论坛上提问,获得更详细的解答。

Python Pandas 自动生成指标明细表格 - 使用数据源计算排名

原文地址: https://www.cveoy.top/t/topic/mQqE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录