为了账号安全,请及时绑定邮箱和手机立即绑定

突出显示 Excel 列中大于某个值的总和

突出显示 Excel 列中大于某个值的总和

拉丁的传说 2023-07-05 10:02:10
我有一个已排序的列,我想突出显示那些总和小于阈值(在本例中为 0.8)的行。如果您运行下面的代码,它将突出显示 0.294 和 0.202,但加起来只为 0.496;我希望它也突出显示 0.171,但不是 0.157,因为这会使其超过 0.8我在条件格式中使用了正确的标准吗?import pandas as pdimport numpy as npimport xlsxwriterdf = pd.DataFrame(np.array([.294, .202, .171, .157, .103, .082, .045, .023, .021, .018, .016]))writer = pd.ExcelWriter('results.xlsx', engine='xlsxwriter')df.to_excel(writer, sheet_name='sheet1', index=False)wb = writer.bookyellow_format = wb.add_format({'bg_color':'#F7FE2E'})ws = writer.sheets['sheet1']ws.conditional_format('A2:A20' , {'type': 'formula', 'criteria': '=SUM(A2:A20) >= 0.8', 'format':  yellow_format})wb.close()
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

好的,首先这个答案只是 Excel,因为我不知道 Pythong 编码,但我希望如果你知道如何在 Excel 中实现这个,也许你可以编码:)

你几乎已经拥有了。您需要总和范围是动态的。您的实际公式只是检查A2:A20总和是否高于 0.8。因为你使用的是相对引用,所以在检查时A2,公式会求和A2:A20,但在检查时A3会检查A3:A21,依此类推。

根据提供的值,SUM(A2:A20)= 1.132,并且因为您输入了它,所以 >= 0.8它突出显示0.294SUM(A3:A21)=0.838所以.202也被突出显示。但其余的总和不高于 0.8。

因此,您需要条件格式规则才能使用此公式:

=SUM($A$2:A2)<=0.8这样,从第 2 行开始,如果第 2 行到实际位置的总和低于 0.8,它将突出显示单元。因此,在第一个值时,它将求和 uo A2:A2,第二个值将求和A2:A3,依此类推。注意我使用绝对引用,但仅在第一个单元格上使用,而不是整个范围,因此向下拖动时的范围是动态的。

在相对、绝对和混合引用之间切换

查看完整回答
反对 回复 2023-07-05
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信