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

Highlight sums in excel column greater than a value

我有一个已排序的列,我想突出显示总计小于阈值(在本例中为 0.8)的那些行。如果您 运行 下面的代码将突出显示 0.294 和 0.202,但加起来仅为 0.496;我希望它也突出显示 0.171,但不是 0.157,因为这会超过 0.8

我在条件格式中使用的标准是否正确?

import pandas as pd
import numpy as np
import xlsxwriter


df = 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.book
yellow_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()

好的,首先这个答案只是 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:A2)<=0.8 这样,从第 2 行开始,如果第 2 行的总和直到实际位置 低于 比 0.8,它将突出显示单元格。因此,第一个值将求和 uo A2:A2,第二个值将求和 A2:A3,依此类推。注意我使用绝对引用,但只在第一个单元格上,而不是整个范围,所以向下拖动时的范围是动态的。

Switch between relative, absolute, and mixed references

根据此公式应用此条件格式规则会准确突出显示您在 post.

中所说的值