(ก.พ. 2017)ดังที่ได้กล่าวไว้ในคำตอบอื่นตอนนี้ Google ชีทอนุญาตให้ผู้ใช้เพิ่มการจัดรูปแบบตามเงื่อนไขได้โดยตรงจากส่วนติดต่อผู้ใช้ไม่ว่าจะเป็นบนเดสก์ท็อป / แล็ปท็อปอุปกรณ์ Android หรือ iOS อย่างไรก็ตามส่วนที่เหลือของคำตอบนี้เป็นหลักสำหรับนักพัฒนาเพราะคุณสามารถเขียนแอพ "ทำ" การจัดรูปแบบตามเงื่อนไข
ด้วยGoogle ชีต API v4 (และใหม่กว่า) ตอนนี้นักพัฒนาสามารถเขียนแอปพลิเคชันที่กฎการจัดรูปแบบตามเงื่อนไข CRUD ตรวจสอบหน้าคำแนะนำและหน้าตัวอย่างสำหรับรายละเอียดเพิ่มเติมรวมถึงเอกสารอ้างอิง (ค้นหา{add,update,delete}ConditionalFormatRule
) คู่มือมีข้อมูลโค้ด Python นี้ (สมมติว่า ID ไฟล์ของSHEET_ID
และSHEETS
เป็นจุดสิ้นสุดบริการ API):
myRange = {
'sheetId': 0,
'startRowIndex': 1,
'endRowIndex': 11,
'startColumnIndex': 0,
'endColumnIndex': 4,
}
reqs = [
{'addConditionalFormatRule': {
'index': 0,
'rule': {
'ranges': [ myRange ],
'booleanRule': {
'format': {'textFormat': {'foregroundColor': {'red': 0.8}}}
'condition': {
'type': 'CUSTOM_FORMULA',
'values':
[{'userEnteredValue': '=GT($D2,median($D$2:$D$11))'}]
},
},
},
}},
{'addConditionalFormatRule': {
'index': 0,
'rule': {
'ranges': [ myRange ],
'booleanRule': {
'format': {
'backgroundColor': {'red': 1, 'green': 0.4, 'blue': 0.4}
},
'condition': {
'type': 'CUSTOM_FORMULA',
'values':
[{'userEnteredValue': '=LT($D2,median($D$2:$D$11))'}]
},
},
},
}},
]
SHEETS.spreadsheets().batchUpdate(spreadsheetId=SHEET_ID,
body={'requests': reqs}).execute()
นอกจาก Python แล้ว Google API ยังรองรับภาษาที่หลากหลายดังนั้นคุณจึงมีตัวเลือกต่างๆ อย่างไรก็ตามตัวอย่างโค้ดนั้นจะจัดรูปแบบชีต (ดูภาพด้านล่าง) เพื่อให้ผู้ที่อายุน้อยกว่าค่ามัธยฐานถูกไฮไลต์ด้วยสีแดงอ่อนในขณะที่ผู้ที่อยู่เหนือค่ามัธยฐานจะมีข้อมูลสีเป็นตัวอักษรสีแดง
หมายเหตุ: คำตอบของฉันที่นี่เหมือนกันกับคำตอบ SO สำหรับคำถามนี้ยกเว้นฉันลบ PSA เนื่องจากไม่จำเป็นต้องอยู่ใน> 1 แห่ง