当前位置: 首页 > news >正文

Python小程序 - 表格数值统计

  • 题设:Excel表格中,计算如下图所示不同颜色(蓝、黄、桔)单元格值:各颜色填涂的单元格值的总和
  • 条件:
    - Excle表格中
    - 分色标记,单元格有值
    - 开始列(当前为D),开始行(当前为6)随机设置
    - 下三角直角边长(当前为10个单元格)随机设置,与桔色单行长度相同(当前为10个单元格)
    - 计算:1)蓝色单元格中值总和、蓝色单元格中值总和、蓝色单元格中值总和;2)各色单元格的数量

1. 方法1:Excel选中对应颜色的单元格,自动生成格子数和单元格值总和

2. 方法2:Excel格式查找(前题,先标颜色)
       蓝:660   ;黄:110     ;桔:660

3. 方法3:宏(VBA编程,没做,也许找时间试)

4. 方法4:Numpy(构建列表,然后分别计算,没做,也许找时间试)    

5. 方法5:python数格子(也许是最笨的方法),生成Excel的sum函数,计数、求和 (忽略代码冗余)

###################################
# 2023.12
# Sum as request
#################################### 构建列组合
la = ['','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
lb =    ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']sc = str.upper('D')  # 开始列,自动转成大写
##ec = 'AI' # 结束列
sr = 6    # 开始行
er = 37   # 结束行
bc = 10   # 下三角黄色边长
lw = 26   # English字母表长度li = 0   # 开始列数值
if len(sc) == 1:li = lb.index(sc)
else:li = la.index(sc[0]) * lw + lb.index(sc[1])
lai = li//26
lbi = li%26###################### up,上三角蓝色
##sum_up = 0         
up_str = '=sum('   # excle sum function string
up_cn = 0sr_up = sr
er_up = er - bc    # 上三角下边界
sc_up = sc
ec_up = li + (er - bc - sr)tlai = la[ec_up//26]
tlbi = lb[ec_up%26]
tc = er - bc - sr + 1  # 上三角边长for r in range(tc):ti = li + tc - 1 - rtlai = la[ti//26]tlbi = lb[ti%26]up_str = up_str + sc + str(sr_up + r) + ':' + tlai + tlbi + str(sr_up + r) + ','up_cn = up_cn + tc - rup_str = up_str + ")"
print("Up: ", up_str)
print("Up Count: ", up_cn)    ###################### mid,中间四边形桔色
##sum_mid = 0
mid_str = '=sum('  # excle sum function string
mid_cn = 0sr_mid = sr
er_mid = er - bc
sc_mid = li + 1
ec_mid = li + (er - bc - sr) + bctc = er - bc - sr + 1  # 桔色高度for r in range(tc):tsc = sc_mid + r         # 开始列tec = tsc + bc - 1    # 结束列tr = er_mid - r       # 行号  mid_str = mid_str + la[tsc//lw] + lb[tsc%lw] + str(tr) + ':' + la[tec//lw] + lb[tec%lw] + str(tr) + ','mid_cn = mid_cn + bcmid_str = mid_str + ")"
print("Mid: ", mid_str)
print("Mid Count: ", mid_cn)   ###################### down,下三角黄色
##sum_down = 0
down_str = '=sum('   # excle sum function string
down_cn = 0          # down cell countsr_down = er - bc + 1    # 下三角开始行
##sc_down = sc           # 下三角开始列
##ec_down = li + bc - 1  # 下三角结束列tlai = lai
tlbi = lbifor r in range(bc):ti = li + bc - 1 - rtlai = la[ti//26]tlbi = lb[ti%26]down_str = down_str + sc + str(sr_down + r) + ':' + tlai + tlbi + str(sr_down + r) + ','down_cn = down_cn + bc - rdown_str = down_str + ")"
print("Down: ", down_str)
print("Down Count: ", down_cn)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Up:  =sum(D6:Y6,D7:X7,D8:W8,D9:V9,D10:U10,D11:T11,D12:S12,D13:R13,D14:Q14,D15:P15,D16:O16,D17:N17,D18:M18,D19:L19,D20:K20,D21:J21,D22:I22,D23:H23,D24:G24,D25:F25,D26:E26,D27:D27,)
Up Count:  253
Mid:  =sum(E27:N27,F26:O26,G25:P25,H24:Q24,I23:R23,J22:S22,K21:T21,L20:U20,M19:V19,N18:W18,O17:X17,P16:Y16,Q15:Z15,R14:AA14,S13:AB13,T12:AC12,U11:AD11,V10:AE10,W9:AF9,X8:AG8,Y7:AH7,Z6:AI6,)
Mid Count:  220
Down:  =sum(D28:M28,D29:L29,D30:K30,D31:J31,D32:I32,D33:H33,D34:G34,D35:F35,D36:E36,D37:D37,)
Down Count:  55

http://www.lryc.cn/news/260227.html

相关文章:

  • Unity | Shader基础知识(第一集:unity中最简单的shader)
  • 橘子学K8S01之容器中所谓的隔离
  • 利用svm进行模型训练
  • 【Docker】WSL 2 上的 Docker 搭建和入门
  • pytorch环境配置
  • 电子眼+无人机构建平安城市视频防控监控方案
  • mysql binlog_ignore_db参数的效果详解
  • HI3559AV100和FPGA 7K690T的PCIE接口调试记录-续
  • vivado约束方法4
  • LeetBook学习-C语言-数组
  • 23种策略模式之策略模式
  • 【笔试强化】Day 2
  • windows禁用系统更新
  • ES6原生音乐播放器(有接口)
  • Django和ECharts异步请求示例
  • Java序列化、反序列化-为什么要使用序列化?Serializable接口的作用?
  • 连锁零售企业如何优化网络性能?
  • [已解决]HttpMessageNotReadableException: JSON parse error: Unexpected character:解析JSON时出现异常的问题分析与解决方案
  • 华为OD机试 - 找数字(Java JS Python C)
  • ElasticSearch - networking配置global
  • GPT4停止订阅付费了怎么办? 怎么升级ChatGPT plus?提供解决方案
  • MySQL数据库,视图、存储过程与存储函数
  • 【Pytorch】学习记录分享3——PyTorch 自动微分与线性回归
  • Android Studio实现俄罗斯方块
  • 【Hive】——DDL(DATABASE)
  • 【华为OD题库-092】单词加密-java
  • 构建一个简单的 npm 验证项目
  • 利用vue-okr-tree实现飞书OKR对齐视图
  • 持续集成交付CICD:CentOS 7 安装SaltStack
  • vscode 环境配置