עבור לתוכן

פונקציית IF באקסל

Featured Replies

פורסם
  • מחבר

לא הבנתי

מה עשית שהוא מציג את התאריך הזה??

כתבתי את הפונקציה ש tmadman כתב כאן מעליי הרגע והכל פועל טוב חוץ מהצגת התאריך

פורסם

דרך אגב מה אתה מנסה לעשות? אולי יש דרך יותר טובה לעשות את זה?

עריכה:

אם אתה רוצה הנה מקרו שעושה את מה שאתה רוצה..

Sub a()
If Range("b4") <> "" And Range("a5") = "" Then
Range("a5") = Date + 1
End If

End Sub

פורסם

וכשהתאריך הוא אמריקאי זה עובד?

פורסם
  • מחבר

אז זהו מה שהבנתי הרגע, זה שכשהתאריך אמריקאי, קורה מה שקרה לי עוד לפני שפירסמתי את האשכול, פשוט כתוב שם 0

כשאני משנה לעברית, ה-0 מתורגם ל0/1/1900... ככה שלא ממש פתרתי כלום

ניסיתי את אותה הפונקציה:

=IF(AND(B4<>"",A5=""),TODAY()+1,"")

על תא אחר שהוא לא תלוי בערך של עצמו (כמו שעשיתי עד עכשיו) והפונקציה עבדה מצוין

אז אני רק צריך לפתור את הבעיה שנוצרת כשמשתמשים בשם של תא בתוך הפונקציה שתיושם על אותו תא (בגלל זה יש ערך 0)

יש משהו שנקרא הפניה מוחלטת וחלקית כדי לפתור את הבעיה הזאת, הבעיה שלא הבנתי איך להשתמש בזה

tmadman, אני מעדיף בינתיים לא לפנות למאקרו רק כשאני כבר אהיה אובד עיצות אני אשתמש בזה

ואני מנסה בעצם שכש B4 תוזן בערך כל שהוא, ייכנס ל A5 התאריך של היום למחרת (ושהתאריך של קוביות קודמות לא ישתנה כל יום שאני אפתח מחדש את המסמך)

פורסם

אם הבנתי נכון אז הבעיה היא להפעיל מתא פונקציה על התא עצמו מה שיוצר רקורסיה בצורה מסויימת וכניראה מובילה לבאג

הפיתרון הוא להשתמש בתא ניטרלי שיכיל את התאריך של היום(נניח Z8) ופשוט להשתמש בערך שלו +1

פורסם

לא נראה לי שאפשר לעשות מה שאתה רוצה עם פונקציות. כל פעם שהגליון יחושב מחדש התאריך ישתנה . צריך שהופנקציה תכניס ערך חדש לתא במקום הפונקציה. לפי מה שאני יודע אין אופציה כזאת באקסל. חייבים לעשות את זה עם מאקרו

הבעיה עם להשתמש בתא נטרלי עם התאריך של היום הוא שגם התא הזה ישתנה ואחריו ישתנו שאר התאים.....

כל הרעיון של המאקרו כאן הוא שהמאקרו יכול להכניס ערך לתא במקום שהוא יחושב

פורסם
  • מחבר

מזה בדיוק אני רוצה להימנע

אם תסתכל טוב על הפונקציה תראה שאם לא הייתה הבעיה עם האיטרציות, התאריך לא היה משתנה כל יום שאני פותח את הגליון בגלל שאם יש בו כבר ערך (במקרה הזה התאריך של אתמול) אז הוא לא יגע בו בכלל ולא ישנה אותו

פורסם

הבעיה היא שהערך זה לא משהו קבוע הוא תמיד יהיה תלוי במה שהפונקציה מחזירה. בגלל שיש שימוש ב TODAY התאריך ישתנה כל פעם. כדי להראות את הערך התוכנה מחשבת את התא, היא לא "אוגרת" את התוצאה ועוזבת את התא ב"שקט".

אלא אם אתה מכיר דרך להכניס לתא ערך רגיל בעזרת פונקציה (או כל אופציה אחרת) אני לא חושב שזה אפשרי בלי מאקרו

אומנם אתה לא מכיר כל כך מאקרו אבל גם אני לא הכרתי בהתחלה. למדתי את עצמי הכל. פשוט מתחילים לשחק עם זה קצת ועם מעט ידע אתה יכול לעשות דברים ממש מגניבים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים