חותמת זמן באקסל
אחת הדרישות הנפוצות באקסל היא הוספת חותמת זמן כדי לתעד מתי בוצעה פעולה מסוימת – למשל, מתי הוזנה רשומה, מתי בוצע שינוי, או מתי אושרה בקשה.
הבעיה היא שהפונקציה המובנית NOW() מתעדכנת בכל פעם שנעשית פעולה בקובץ, ולכן אינה מתאימה
במאמר הזה אציג שלוש דרכים שונות להוספת חותמת זמן, שלא ישתנו לאחר הוספתו:
שיטה ראשונה: הוספת חותמת זמן ידנית
הדרך המהירה והפשוטה היא באמצעות שימוש בקיצורי מקשים:
להכנסת התאריך הנוכחי Ctrl + ;
להכנסת השעה הנוכחית Ctrl + Shift + :
להכנסת שניהם יחד: מקישים Ctrl + ;
אחריו רווח
ואז Ctrl + Shift +;
היתרונות:
- טכניקה מהירה
- לא דורשת שינוי הגדרות
- התאריך והשעה נשארים קבועים
החיסרון:
צריך להוסיף באופן ידני בכל פעם.
שיטה שנייה: הוספת חותמת זמן באמצעות מאקרו
שימוש במאקרו שמכניס את התאריך והשעה בכל פעם שיש שינוי בתא, לדוגמה:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1).Value = Now()
End If
End Sub
היתרונות:
- אוטומטי לחלוטין
- גמיש – ניתן להתאים לכל צורך
- מדויק – תופס את הזמן המדויק של השינוי
- ניתן להוסיף בקרות ותנאים (לדוגמה – בדיקה שהתא ריק, נעילת התא אחרי העדכון וכו')
החסרונות:
- דורש ידע בתכנות
- הקובץ חייב להיות בסיומת xlsm
- יש לאפשר מאקרו ולכן יכול להיות בעייתי בסביבות עבודה מאובטחות
השיטה השלישית: הוספת חותמת זמן באמצעות חישוב איטרטיבי
שיטה זו משתמשת בנוסחה מותנית שמשתמשת בחישוב איטרטיבי:
כדי להפעיל את החישוב האיטרטיבי לחצו על 'קובץ' > 'אפשרויות'
בלשונית 'נוסחאות' סמנו V על 'הפוך חישוב איטרטיבי לזמין'
כתבו בתא שבו תרצו את חותמת הזמן את הנוסחה הבאה:
=IF(A1<>"",IF(B1="",NOW(),B1),"")
היתרונות:
- אוטומטית
- לא דורשת מאקרו
- פשוטה יחסית ליישום
החסרונות:
- הפניות מעגליות:
חישוב איטרטיבי מאפשר הפניות מעגליות בנוסחאות – מצב שבדרך כלל אקסל לא מרשה. זה יכול ליצור בעיות לא צפויות כמו לולאות אינסופיות או תוצאות שגויות. בנוסף, אקסל יציג הודעות אזהרה על הפניות מעגליות, מה שעלול לבלבל משתמשים.
- השפעה על ביצועי הגיליון
החישוב האיטרטיבי מאט את הגיליון כולו כי אקסל מבצע חישובים חוזרים. ככל שיש יותר נוסחאות בגיליון, ההאטה משמעותית יותר, במיוחד בקבצים גדולים.
- הגדרה גלובלית
ההגדרה משפיעה על כל הגיליונות בחוברת ולא ניתן להגדיר חישוב איטרטיבי רק לגיליון מסוים. כל המשתמשים בקובץ חייבים לעבוד עם אותה הגדרה.
- בעיות בתחזוקה
קשה לאתר בעיות כשמשהו משתבש, ומשתמשים אחרים עלולים לשנות את ההגדרות בטעות. כל שינוי בנוסחה דורש בדיקה מחדש של ההתנהגות.
- מגבלות גמישות
קשה לשנות את הלוגיקה אחרי שהנוסחה כבר בשימוש, ולא ניתן להוסיף תנאים מורכבים. השיטה מוגבלת ליחסים פשוטים בין תאים.
- בעיות בשיתוף קבצים
משתמשים אחרים עלולים לא להבין למה הקובץ "תקוע", ויש סיכון לקונפליקטים כשעובדים במקביל. בנוסף, צריך להסביר את השיטה לכל משתמש חדש.
במקרים של קבצים גדולים או מורכבים, כשיש צורך בתיעוד מדויק, או כשהרבה משתמשים עובדים על אותו קובץ, עדיף לשקול שימוש במאקרו.
מתי להשתמש בכל שיטה?
הכנסה ידנית:
- כשמדובר במקרים בודדים
- כשרוצים שליטה מלאה
- כשלא רוצים לשנות הגדרות
מאקרו:
- כשצריך פתרון מקצועי ומקיף
- כשיש צורך בגמישות מרבית
- כשרוצים לשלב לוגיקה נוספת
חישוב איטרטיבי:
- כשרוצים פתרון אוטומטי בלי מאקרו
- כשהדרישות פשוטות וברורות
- כשאין בעיה עם הגדרות גלובליות
שורה תחתונה
- למקרים בודדים – הכנסה ידנית
- לפתרון מקצועי ומקיף – מאקרו
- לפתרון ביניים אוטומטי – חישוב איטרטיבי
טיפ לסיום
הבחירה בין השיטות תלויה בעיקר בשני גורמים:
- כמה פעמים נצטרך להשתמש בחותמת זמן
- האם מותר להשתמש במאקרו בסביבת העבודה שלנו