我有一個已排序的列,我想突出顯示那些總和小于閾值(在本例中為 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.294
。SUM(A3:A21)=0.838
所以.202
也被突出顯示。但其余的總和不高于 0.8。
因此,您需要條件格式規則才能使用此公式:
=SUM($A$2:A2)<=0.8
這樣,從第 2 行開始,如果第 2 行到實際位置的總和低于 0.8,它將突出顯示單元格。因此,在第一個值時,它將求和 uo?A2:A2
,第二個值將求和A2:A3
,依此類推。注意我使用絕對引用,但僅在第一個單元格上使用,而不是整個范圍,因此向下拖動時的范圍是動態的。
在相對、絕對和混合引用之間切換
添加回答
舉報
0/150
提交
取消