วิธีแทรกการประทับเวลาใน Excel เมื่อเซลล์เปลี่ยนแปลง (2 วิธีที่มีประสิทธิภาพ)

  • แบ่งปันสิ่งนี้
Hugh West

บทความนี้แสดงวิธีประทับเวลาใน excel เมื่อเซลล์เปลี่ยนแปลง คุณอาจต้องติดตามการป้อนข้อมูลในเซลล์ของคอลัมน์ใดคอลัมน์หนึ่ง ตัวอย่างเช่น คุณสงวนคอลัมน์ B เพื่อป้อนข้อมูล ตอนนี้คุณต้องการการประทับเวลาในเซลล์ที่อยู่ติดกันในคอลัมน์ C เมื่อเซลล์ได้รับการปรับปรุงในคอลัมน์ B บทความนี้จะช่วยให้คุณดำเนินการดังกล่าวได้อย่างมีประสิทธิภาพ 2 วิธี

ดาวน์โหลดสมุดงานแบบฝึกหัด

คุณ สามารถดาวน์โหลดสมุดงานแบบฝึกได้จากปุ่มดาวน์โหลดด้านล่าง

การประทับเวลาใน Excel.xlsm

2 วิธีในการแทรกการประทับเวลาใน Excel เมื่อเซลล์เปลี่ยนแปลง

1. ใช้ IF, AND, NOW และฟังก์ชันอื่นๆ เพื่อแทรก Timestamp ใน Excel

ทำตามขั้นตอนด้านล่างเพื่อรับการประทับเวลาโดยใช้สูตรเมื่อเซลล์เปลี่ยนแปลง

📌 ขั้นตอน

  • กดครั้งแรก ALT+F+T เพื่อเปิด ตัวเลือก Excel จากนั้นไปที่แท็บ สูตร ถัดไป ทำเครื่องหมายที่ช่องทำเครื่องหมาย เปิดใช้งานการคำนวณซ้ำ จากนั้น ตั้งค่า การวนซ้ำสูงสุด เป็น 1 หลังจากนั้น ให้คลิก ตกลง

  • ตอนนี้ ป้อนสูตรต่อไปนี้ในเซลล์ C5 . จากนั้นลากไอคอน Fill Handle เพื่อคัดลอกสูตรไปยังเซลล์ด้านล่าง
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

  • จากนั้น ป้อนสูตรต่อไปนี้ในเซลล์ D5 จากนั้นลากไอคอน Fill Handle ไปยังเซลล์ด้านล่างตามเดิม
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))

  • ตอนนี้ เริ่มป้อนค่าในเซลล์ใน คอลัมน์ B หลังจากนั้นคุณจะได้ผลลัพธ์ดังต่อไปนี้ ที่นี่ คอลัมน์ D เป็นคอลัมน์ตัวช่วย คุณสามารถซ่อนได้โดยคลิกขวาหลังจากเลือกคอลัมน์

  • อีกทางหนึ่ง คุณสามารถป้อนสูตรต่อไปนี้ในเซลล์ C5 เพื่อให้ได้ผลลัพธ์เดียวกัน
=IF(B5"",IF(C5="",NOW(),C5),"")

  • คุณอาจต้องเปลี่ยนรูปแบบของ เซลล์ใน คอลัมน์ C เลือกคอลัมน์โดยคลิกหมายเลขคอลัมน์ที่ด้านบน จากนั้นกด CTRL+1 เพื่อเปิดกล่องโต้ตอบ จัดรูปแบบเซลล์ ตอนนี้ คลิกที่รูปแบบตัวเลข กำหนดเอง ถัดไป ป้อน d-mmm-yyyy hh:mm:ss AM/PM ในฟิลด์ ประเภท สุดท้าย คลิกตกลง

การแบ่งสูตร:

สูตรในเซลล์ C5:

➤ IF(B5=””,””,C5))

ฟังก์ชัน IF ไม่คืนค่าใดๆ ถ้าเซลล์ B5 ว่างเปล่า มิฉะนั้น ส่งกลับค่าเดียวกันที่เก็บไว้ใน C5 .

➤ NOW()

ฟังก์ชัน NOW ส่งกลับค่าปัจจุบัน วันที่และเวลา

➤ AND(B5””,D5B5)

ฟังก์ชัน AND ส่งกลับ TRUE ถ้าทั้งคู่ อาร์กิวเมนต์เป็นจริง เช่น เซลล์ B5 ไม่ว่างเปล่า และ เซลล์ B5 และ D5 ไม่มีค่าเท่ากัน

➤ IF(AND(B5””,D5B5),NOW(),IF(B5=””,””,C5))

หากฟังก์ชัน AND ส่งกลับ TRUE จากนั้น ฟังก์ชัน IF ส่งกลับวันที่และเวลาปัจจุบันที่ได้รับจาก ฟังก์ชัน NOW มิฉะนั้นจะส่งกลับผลลัพธ์ได้รับจากอาร์กิวเมนต์ที่มี ฟังก์ชัน IF .

สูตรในเซลล์ D5:

➤ ISNUMBER(D5)

ฟังก์ชัน ISNUMBER ส่งคืน TRUE ถ้าเซลล์ D5 มีตัวเลข มิฉะนั้น จะคืนค่า เท็จ .

➤ AND(ISNUMBER(D5),B5=D5)

ฟังก์ชัน AND ส่งคืน TRUE ถ้าเซลล์ D5 มีตัวเลข และเซลล์ B5 และ D5 มีค่าเท่ากัน มันจะคืนค่า FALSE มิฉะนั้น

➤ OR(C5=””,AND(ISNUMBER(D5),B5=D5))

The ฟังก์ชัน OR ส่งคืน TRUE หากอาร์กิวเมนต์ตัวใดตัวหนึ่งเป็นจริง เช่น เซลล์ C5 ว่างเปล่า หรือฟังก์ชัน AND ส่งคืน TRUE . จะส่งกลับ FALSE ถ้าอาร์กิวเมนต์ทั้งหมดเป็นเท็จ

➤ IF(OR(C5=”",AND(ISNUMBER(D5),B5=D5)),D5 ,B5)

ฟังก์ชัน IF ส่งกลับค่าเดียวกันที่เก็บไว้ในเซลล์ D5 ถ้าฟังก์ชัน OR ส่งกลับ TRUE . มิฉะนั้น จะส่งกลับค่าของเซลล์ B5 .

➤ IF(B5=””,””,IF(OR(C5=””),AND(ISNUMBER(D5 ),B5=D5)),D5,B5))

ฟังก์ชัน IF ไม่ส่งคืนค่าใดๆ หากเซลล์ B5 ว่างเปล่า มิฉะนั้น จะส่งคืนผลลัพธ์ที่ได้รับจากอาร์กิวเมนต์ที่มี ฟังก์ชัน IF

อ่านเพิ่มเติม: วิธีแทรกการประทับเวลาของ Excel เมื่อเซลล์เปลี่ยนแปลงโดยไม่มี VBA (3 วิธี)

การอ่านที่คล้ายกัน

  • วิธีแทรกวันที่แบบคงที่ใน Excel (4 วิธีง่ายๆ)
  • Excel VBA: แทรกการประทับเวลาเมื่อเรียกใช้มาโคร
  • วิธีแทรกตราประทับวันที่ของ Excel เมื่อเซลล์ในแถวถูกแก้ไข
  • แปลง Unix Timestamp เป็นวันที่ใน Excel (3 วิธีการ)

2. ใช้โค้ด VBA เพื่อแทรกการประทับเวลาใน Excel เมื่อเซลล์เปลี่ยนแปลง

คุณยังสามารถรับการประทับเวลาใน excel เมื่อเซลล์เปลี่ยนแปลงโดยใช้ VBA ทำตามขั้นตอนด้านล่างเพื่อดำเนินการดังกล่าว

📌 ขั้นตอน

  • ขั้นแรก ให้คลิกขวาที่แท็บแผ่นงานเป้าหมาย จากนั้น เลือก ดูโค้ด การดำเนินการนี้จะเปิดโมดูลโค้ดสำหรับเวิร์กชีตนั้นๆ

  • ถัดไป คัดลอกโค้ดต่อไปนี้โดยใช้ปุ่มคัดลอกที่มุมขวาบน
3049
  • หลังจากนั้น วางโค้ดที่คัดลอกไว้บนโมดูลว่างตามที่แสดงด้านล่าง

  • ถัดไป บันทึก เอกสารเป็น สมุดงานที่เปิดใช้งานมาโคร ตอนนี้ เริ่มป้อนข้อมูลในเซลล์ในคอลัมน์ B จากนั้นคุณจะได้ผลลัพธ์เหมือนกับก่อนหน้านี้

VBA คำอธิบายโค้ด:

แผ่นงานย่อยส่วนตัว_การเปลี่ยนแปลง (ByVal Target As Range)

Dim CellCol, TimeCol, Row, Col As Integer

Dim DpRng, Rng As Range

การประกาศตัวแปรที่จำเป็น

CellCol = 2

การป้อนข้อมูล คอลัมน์

TimeCol = 3

คอลัมน์ประทับเวลา

Row = Target.Row

Col = Target.Column

จัดเก็บหมายเลขแถวและคอลัมน์ของเซลล์ที่เลือก

หากแถว <= 4 แล้วออกย่อย

การเปลี่ยนแปลงใดๆ ภายในแถว 4 อันดับแรกจะไม่สร้างการประทับเวลา

การประทับเวลา = รูปแบบ(ตอนนี้ “DD-MM-YYYY HH:MM:SS AM/PM”)

การประทับเวลาจะเป็นรูปแบบนี้ เปลี่ยนตามต้องการ

ถ้า Target.Text “” แล้วก็

ถ้า Col = CellCol แล้วก็

เซลล์(แถว, TimeCol) = การประทับเวลา

สร้างการประทับเวลาหากเซลล์ที่เลือกว่างเปล่า

เมื่อเกิดข้อผิดพลาด ดำเนินการต่อ ถัดไป

ละเว้น หากเกิดข้อผิดพลาดขึ้น

ตั้งค่า DpRng = Target.Dependents

สำหรับแต่ละ Rng ใน DpRng

หาก Rng.Column = CellCol จากนั้น

เซลล์ (Rng.Row, TimeCol) = การประทับเวลา

สร้างการประทับเวลาสำหรับช่วงของเซลล์ถ้าไม่ว่างเปล่า

อ่านเพิ่มเติม: วิธีแทรกรายการข้อมูลประทับเวลาใน Excel โดยอัตโนมัติ (5 วิธี)

สิ่งที่ควรจำ

  • คุณต้องใช้การกำหนดเอง จัดรูปแบบสำหรับเซลล์ในคอลัมน์ B เพื่อให้ได้การประทับเวลาที่มีรูปแบบถูกต้อง
  • สูตรสำรองจะทำงานเฉพาะเมื่อป้อนข้อมูลในเซลล์ว่างเท่านั้น
  • ที่นี่ การป้อนข้อมูลและคอลัมน์ประทับเวลาเป็นเรื่องยาก เข้ารหัสในรหัส VBA คุณต้องแก้ไขโค้ดตามชุดข้อมูลของคุณ

สรุป

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

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง