ฉันจะจัดรูปแบบเซลล์ตามเงื่อนไขในสเปรดชีตของ Google ที่มีวันที่เพื่อให้มีพื้นหลังแตกต่างกันไปตามวันในสัปดาห์ได้อย่างไรเช่นเน้นวันเสาร์และอาทิตย์ในคอลัมน์ที่มีวันในเดือนนั้น
ฉันจะจัดรูปแบบเซลล์ตามเงื่อนไขในสเปรดชีตของ Google ที่มีวันที่เพื่อให้มีพื้นหลังแตกต่างกันไปตามวันในสัปดาห์ได้อย่างไรเช่นเน้นวันเสาร์และอาทิตย์ในคอลัมน์ที่มีวันในเดือนนั้น
คำตอบ:
ฉันดิ้นรนกับเรื่องนี้มานาน แต่ในที่สุดก็ทำให้มันแตก:
ใช้การจัดรูปแบบตามเงื่อนไขบนคอลัมน์ด้วยวันที่และพิมพ์ต่อไปนี้เป็นสูตรที่กำหนดเอง:
=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)
โดยที่A1
เป็นวันแรกในคอลัมน์
การดำเนินการนี้จะใช้การจัดรูปแบบตามเงื่อนไขกับทุกวันทำงานโดยมีค่า 1 (วันอาทิตย์) และ 7 (วันเสาร์)
ง่าย (แต่น่าเบื่อนิดหน่อย!) ใน Google ชีตใหม่ สำหรับการจัดรูปแบบตามเงื่อนไขต้องใช้กฎใหม่สำหรับแต่ละสีโดยประมาณ (โดยปกติหนึ่งสีสามารถข้ามจากกฎและนำไปใช้กับการจัดรูปแบบปกติซึ่งจะถูกแทนที่เมื่อเงื่อนไขใด ๆ สำหรับ CF ใช้) ดังนั้นคาดว่าจะทำซ้ำขั้นพื้นฐานต่อไปนี้อย่างน้อยห้าครั้ง
สมมติว่าคอลัมน์วันที่คือ A. เลือกรูปแบบ> การจัดรูปแบบตามเงื่อนไข ... สูตรที่กำหนดเองคือและป้อน:
=weekday(A1)=1
เลือกการจัดรูปแบบที่ต้องการ
รอบชิงชนะเลิศ1
ข้างต้นสำหรับวันอาทิตย์ส่วนวันอื่น ๆ ตามด้วยตัวเลข
ทำซ้ำสำหรับรูปแบบอื่นที่จำเป็นโดยปรับ1
ตามความจำเป็น
เนื่องจากกฎเหล่านี้ไม่ขัดแย้งกัน (แต่ละวันเป็นเพียงวันเดียวของสัปดาห์) ลำดับที่เพิ่มกฎ (ด้วย " + เพิ่มกฎอื่น ") จึงไม่สำคัญ
=WEEKDAY(A1,2)>5
- สิ่งนี้จะตีทั้งวันเสาร์และวันอาทิตย์และต้องใช้กฎเดียวเท่านั้น
หากวันที่อยู่ในคอลัมน์ A ให้เลือกวันที่จากนั้นทำ: รูปแบบ > การจัดรูปแบบตามเงื่อนไข ... > จัดรูปแบบเซลล์หาก ... > สูตรที่กำหนดเองแล้วใส่
=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))
คำอธิบายบางอย่าง:
weekday(A:A)
ส่งคืน1-7สำหรับวันในสัปดาห์และ
or(weekday(A:A)=1, weekday(A:A)=7)
ส่งคืนจริงถ้าเป็นวันอาทิตย์ ( 1 ) หรือวันเสาร์ ( 7 )
สิ่งนี้จะทำงานได้ด้วยตัวเอง แต่ด้วยเหตุผลบางอย่างวันทำงาน () ในเซลล์ว่างเปล่าส่งคืนค่า7ดังนั้นisblank(A:A)=false
ตรวจสอบว่าเซลล์ว่างเปล่าหรือไม่ ตอนนี้มันเป็นสีเซลล์ถ้ามันมีทั้ง (ไม่ว่าง) และ (อาทิตย์หรือ sat)
ฉันยังใส่A:A
เช่นA1
จะให้ผลลัพธ์ที่ตรงข้ามถ้าช่วงรูปแบบไม่ได้เริ่มที่ด้านบน (เช่นA5:A100
แทนA1:A100
)
ให้เครดิตกับ pnuts!
สิ่งนี้เป็นไปได้ด้วยสคริปต์ ไปที่เครื่องมือ → เครื่องมือแก้ไขสคริปต์ ...และวางในสคริปต์นี้:
function onEdit(e) {
var cell = e.range.getCell(1, 1);
var val = cell.getValue();
if ((val instanceof Date) && (val.getDay() == 0 || val.getDay() == 6)) {
cell.setBackground("red");
} else {
cell.setBackground("white");
}
}
บันทึกสคริปต์ (ตั้งชื่อโครงการ) และกลับไปที่สเปรดชีตของคุณ
ตอนนี้ทุกครั้งที่คุณแก้ไขเซลล์สคริปต์นี้จะตรวจสอบเพื่อดูว่าคุณป้อนวันที่หรือไม่และวันที่คุณป้อนเป็นวันอาทิตย์หรือวันเสาร์ ถ้าเป็นเช่นนั้นพื้นหลังของเซลล์จะเปลี่ยนเป็นสีแดง หากไม่ใช่วันที่หรือไม่ใช่วันหยุดสุดสัปดาห์พื้นหลังจะเปลี่ยนเป็นสีขาว
มีชื่อสีอื่น ๆ ที่คุณสามารถใช้ได้หรือคุณสามารถใช้รหัสเลขฐานสิบหกเพื่อระบุสีอื่น
if
คำแถลงให้ตรงไปตรงมามากขึ้น มันใช้งานได้แล้วตอนนี้?
=and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))