ตรรกะวันที่ขั้นสูงใน Google Spreadsheets


12

ฉันมีสถานการณ์ต่อไปนี้:

วันนี้คือ 4/9/12 ฉันมีเซลล์ที่มีวันที่ในชีตที่ 4/13/12 เซลล์นี้ควรเปลี่ยนเป็นสีแดงเนื่องจากอยู่ภายใน 7 วันนับจากวันที่ปัจจุบัน

  1. วิธีการใช้การจัดรูปแบบตามเงื่อนไขเพื่อรับ Google Spreadsheets เพื่อเน้นเซลล์ที่อยู่ห่างจากวันที่ปัจจุบันถึง 7 วันเป็นอย่างไร

  2. ฉันจะรับสเปรดชีตเพื่อจัดเรียงชีตตามวันที่จากน้อยไปหามากในช่วงที่ฉันต้องการเรียงลำดับได้อย่างไร ฉันพยายามทำสิ่งนี้
    แต่ทั้งหมดก็คือเรียงลำดับข้อมูลทั้งหมดรวมถึงชื่อคอลัมน์
    ซึ่งไม่ใช่สิ่งที่ฉันต้องการ

คำตอบ:


13

ใช่.

ใช้การจัดรูปแบบตามเงื่อนไขกับกฎสามข้อ: (รูปแบบ -> การจัดรูปแบบตามเงื่อนไข)

  1. "วันที่อยู่ก่อน" "ในสัปดาห์ที่ผ่านมา" -> สีแดง
  2. "Date is after" ในสัปดาห์ที่ผ่านมา "-> สีเขียว
  3. "วันที่คือ" "ในสัปดาห์ที่ผ่านมา" -> สีส้ม

วิธีนี้จะระบายสีวันที่ทั้งหมดที่อยู่ห่างออกไปเป็นสีเขียวมากกว่าหนึ่งสัปดาห์วันที่ทั้งหมดจะมาถึงในสัปดาห์หน้าสีส้มและส่วนที่เหลือของวันที่จะเป็นสีแดง เซลล์ว่างจะถูกทิ้งให้อยู่ตามลำพัง


ว้าว! มันง่ายมาก! ฉันไม่รู้ว่ากฎทำงานแบบนี้ ... ขอบคุณ!
Andrew Davis

เพื่อไฮไลต์แถวทั้งหมดที่มีวันที่วันนี้: productforums.google.com/forum/#!topic/docs/kMc7bqNSJVY
JinSnow

4

ในกรณีที่คุณต้องการเวลาที่แม่นยำมากกว่าคำตอบที่ยอมรับคุณสามารถใช้DATEDIFเพื่อระบุความแตกต่างระหว่างวันที่

ตัวอย่าง: จัดรูปแบบเซลล์ A1 หากวันที่ใน A1 เก่ากว่า 10 วัน

คำแนะนำ:

  1. เลือกเซลล์ A1
  2. ไปที่รูปแบบ / การจัดรูปแบบตามเงื่อนไข
  3. ใต้ "จัดรูปแบบเซลล์หาก ... " เลือก "สูตรที่กำหนดเองคือ"
  4. พิมพ์: =DATEDIF(A1,TODAY(),"D")>10

กรุณาเปลี่ยนโคม่าในสูตรเป็นอัฒภาค มันไม่ทำงานกับอาการโคม่าอีกต่อไป
installero

2

คำตอบที่ยอมรับจะระบุสีที่ไม่ได้กล่าวถึงในคำถามและมองย้อนกลับไปเท่านั้น นอกจากนี้ "วันที่อยู่ก่อน" "ในสัปดาห์ที่ผ่านมา" ไม่เน้นวันที่ภายในเจ็ดวันของวันนี้ ฉันขอแนะนำสูตรกำหนดรูปแบบตามเงื่อนไขที่เป็นประเภท:

=and(A1>today()-7,A1<today()+7)  

ควรเน้นที่หกวันก่อนวันนี้วันนี้และหกวันหลังจากวันนี้


2
  1. ฉันไม่ทราบว่ามีวิธีการดังกล่าวหรือไม่ยกเว้นการเขียนสคริปต์บางอย่าง(ซึ่งอาจซับซ้อนและอาจไม่น่าเชื่อถือ)

มีวิธีแก้ปัญหาที่ง่ายกว่าแม้ว่า คุณสามารถ:

  • เพิ่มคอลัมน์ใหม่ลงในตารางถัดจากวันที่
  • เก็บความแตกต่าง (เป็นวัน) ระหว่างวันที่และวันนี้ (ตัวอย่างเช่นถ้าเซลล์วันที่ในแถวแรกคือC2คุณสามารถป้อนสูตรต่อไปนี้=C2-now())
  • จัดรูปแบบคอลัมน์ผลต่างขึ้นอยู่กับมูลค่า (เช่นถ้าเป็นless than 7)

นี่ไม่ได้จัดรูปแบบเซลล์วันที่ แต่อาจเป็นวิธีแก้ปัญหาที่ยอมรับได้

2

  • เลือกช่วงทั้งหมดที่คุณต้องการเรียงลำดับ (รวมถึงชื่อคอลัมน์)
  • จากเมนูให้เลือก Data -> Range Sort ...
  • เลือกช่องทำเครื่องหมาย "Data has header header"
  • เลือกคอลัมน์เรียงลำดับจากรายการ "เรียงตาม" แบบเลื่อนลง
  • คลิก "เรียงลำดับ"

ขอบคุณสำหรับคำตอบ. ฉันตัดสินใจที่จะใช้วิธีที่ง่ายกว่า
Andrew Davis

0

คุณสามารถใช้ได้

=ArrayFormula(DAYS360(M2:M; N2:N))

ที่ M2 และ N2 ถือวันที่ที่คุณต้องการเปรียบเทียบ มันแสดงให้เห็นความแตกต่างในวันโดยตัวเลขระหว่าง 2 วัน จากนั้นคุณสามารถเพิ่มเงื่อนไขลงในเซลล์เช่นถ้ามันใหญ่แล้ว 7 backround สีแดง


ขอบคุณสำหรับคำตอบ. ฉันตัดสินใจที่จะใช้วิธีที่ง่ายกว่า
Andrew Davis

-3

ใช้เงื่อนไขที่วันที่เป็นมาก่อน =today()+7


3
นี่ไม่ได้เพิ่มคำตอบอื่น ๆ มากนัก คุณช่วยอธิบายได้ไหมว่าทำไมถึงแตกต่างกัน?
jonsca
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.