עבור לתוכן

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

Featured Replies

פורסם

Let me break it down for you all

ex8lx.jpg

למי שלא רואה את כל התמונה:

http://img22.imageshack.us/img22/3159/ex8lx.jpg

הפונקציה לא עובדת כראוי

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

הבעיות:

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

-כשמשתמשים בפונקציה ()TODAY בתוך נוסחה היא מחזירה תאריך באיזשהוא סוג של צירוף לא מובן שרק אקסל משתמשת בו ומבינה אותו משהו כזה- 38573

-איך אני גורם ל ()TODAY להחזיר את התאריך של יום אחרי?

**לא להתייחס ל3 שורות הראשונות בהן התאריך הוצב כמו שצריך

פורסם

אני יודע לעשות את זה ב-VBA

ואל תגיד שורה למעלה שורה למטה

דבר בתאים שיהיה יותר ברור

פורסם
  • מחבר

אוקיי אני אערוך תודה

פורסם

תנסה את זה בעורך VBA

Private Sub Worksheet_Change(ByVal Target As Range)
Cells(1, 1) = Date + 1
End Sub

פורסם
  • מחבר

אני לא מבין כל כך בVBA

אני יודע לתכנת בVB

אבל אין לי מושג מה זה עורך VBA ואיך אני משתמש בו

זה דומה למאקרו? (גם בזה אני לא מתמצא הרבה)

פורסם

Alt+F11

תבחר ב-worksheet1 ותעתיק את מה שכתבתי לשם

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

פורסם
  • מחבר

אוקיי הצלחתי אני מעתיק את מה שרשמת ל"גיליון1", לוחץ Run Sub וזה שם את התאריך של מחר בקובייה שאני רוצה!

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

חוץ מזה, התאריך מגיע כמו שרושמים בארה"ב ולא בישראל

ככה- 8/11/2005

במקום-11/8/2005

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

עדיין, אני לא יודע איך לעשות את זה, כי הפעולה נעשית רק כשאני נכנס לעורך הVBA ולוחץ RUN

פורסם

אתה לא צריך ללחוץ על run sub

VB הוא Event oriented מה שאומר שברגע שתלחץ על תא מסויים, תכניס לשם איזושהי מחרוזת ואז תלחץ אנטר, התאריך יופיע איפה שהוא צריך להופיע.

לגביי הגדרות התאריך(עברי/אמריקאי):

אני חושב שצריך להגדיר את זה באקסל עצמו, כי ב-VB עצמו אין לי מושג(חוץ מלהתחיל לפרק את המחרוזת ולהרכיב אותה מחדש בסדר שונה

פורסם
  • מחבר

אתה לא צריך ללחוץ על run sub

VB הוא Event oriented מה שאומר שברגע שתלחץ על תא מסויים, תכניס לשם איזושהי מחרוזת ואז תלחץ אנטר, התאריך יופיע איפה שהוא צריך להופיע.

ואיך אני קובע את התא המסויים הזה?

פורסם

סתם סיבוך מיותר

today()+1

אמור לעבוד. בגלל שלאקסל התאריך הוא מספר מסויים אתה יכול להוסיף לו מספר....

פורסם
  • מחבר
סתם סיבוך מיותר

today()+1

אמור לעבוד. בגלל שלאקסל התאריך הוא מספר מסויים אתה יכול להוסיף לו מספר....

ראה בעיה מס'  2

פורסם

ראה בעיה מס' 2

איך לעקוף את בעיה מספר 2: את עושה קליק ימני על התא שאתה רוצה בוחר ב format cells ואז פשוט בוחר בתאריך ואיך אתה רוצה שיוצג.....

אצלי זה עבד.

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

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

פורסם
  • מחבר

אוקיי בקשר לסדר של התאריך (אנגלי\עברי) סידרתי תודה

עכשיו בקשר לאיטרציות שיניתי ל-1

הבעיה שהוא מציג לי את התאריך הבא- 0/1/1900 :s05:

פורסם

לא הבנתי

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

פורסם

זה כנראה קורה כי התנאי יוצא שלילי ופונקציית ה IF מחזירה "" שמתורגם לתאריך הזה . תנסה ללחוץ F9. זה אמור לחשב את הכל מחדש.

דרך אגב עדיף לעשות את זה ב VB זה לא הפתרון הכי יציב בוא נאמר....

נ.ב.

זאת הפונקציה שהכנסתי ל A5:

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

ארכיון

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

דיונים חדשים