דילוג לתוכן

אקסל

377 נושאים 3.2k פוסטים

קטגוריות משנה


  • 9 נושאים
    63 פוסטים
    צ
    @א-א-א אחרי השינוי לזיפ, לא נותן לפתוח. [image: 1686773759603-e3d9a09d-bcbe-4e73-86cc-43e9c8815921-image.png]
  • 326 נושאים
    3k פוסטים
    צ
    @האדם-השלישי ניתן לבצע זאת באקסל באמצעות שילוב של הפונקציות IF (לבדיקת התנאים), DATE (לבניית התאריך), YEAR, MONTH, ו-DAY (לפירוק התאריך המקורי). להלן הנוסחה שיש להדביק בתא ב' (בהנחה שהתאריך נמצא בתא A1 והמספר 1 או 2 נמצא בתא C1): Excel =IF(C1=1, DATE(YEAR(A1), MONTH(A1), 15), IF(C1=2, IF(DAY(A1)<10, DATE(YEAR(A1), MONTH(A1), 10), DATE(YEAR(A1), MONTH(A1)+1, 10)), "")) הסבר לוגיקת הנוסחה: החלק הראשון (C1=1): הנוסחה בודקת האם בתא C1 כתוב 1. אם כן, היא לוקחת את השנה והחודש מתא A1 ופשוט קובעת את היום ל-15. זה תואם לדוגמאות שלך (14/12 ו-1/12 שניהם הופכים ל-15/12). החלק השני (C1=2): אם בתא C1 לא כתוב 1, הנוסחה בודקת אם כתוב 2. במידה וכן, מתבצעת בדיקה נוספת על היום בחודש (פונקציית DAY): אם היום קטן מ-10 (למשל 1/12): התאריך שייקבע הוא ה-10 לאותו חודש נוכחי. אם היום הוא 10 ומעלה (למשל 14/12): התאריך שייקבע הוא ה-10 לחודש הבא (MONTH(A1)+1). הערה חשובה לגבי המעבר בין שנים: פונקציית DATE באקסל היא חכמה. אם הנוסחה מוסיפה 1 לחודש דצמבר (חודש 12 + 1 = 13), אקסל ידע אוטומטית להעביר זאת לחודש ינואר של השנה הבאה. כך שבדוגמה שלך, ה-14/12 אכן יהפוך ל-10/1 בשנה החדשה ללא צורך בתיקון נוסף. טיפ: אם האקסל שלך מוגדר בעברית/ישראל, ייתכן שתצטרך להשתמש בנקודה-פסיק (;) במקום פסיק (,) בין חלקי הנוסחה. במקרה כזה הנוסחה תיראה כך: =IF(C1=1; DATE(YEAR(A1); MONTH(A1); 15); IF(C1=2; IF(DAY(A1)<10; DATE(YEAR(A1); MONTH(A1); 10); DATE(YEAR(A1); MONTH(A1)+1; 10)); ""))
  • הדרכה ועזרה לשפה המתה VBA

    42 451
    42 נושאים
    451 פוסטים
    א
    @יעקב-ש Sub ImportCommentsToTable() Dim wsSource As Worksheet Dim wsDest As Worksheet Dim cmt As Comment Dim rng As Range Dim lastRow As Long Dim destRow As Long Set wsSource = ActiveSheet ' צור גיליון חדש לתוצאות Set wsDest = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsDest.Name = "הערות מיובאות" ' כותרות לטבלה wsDest.Range("A1").Value = "מיקום תא" wsDest.Range("B1").Value = "תוכן תא" wsDest.Range("C1").Value = "תוכן הערה" destRow = 2 ' שורה להתחלת הדאטה ' עבור כל התא עם הערה בגיליון המקורי For Each cmt In wsSource.Comments wsDest.Cells(destRow, 1).Value = cmt.Parent.Address(False, False) ' מיקום התא wsDest.Cells(destRow, 2).Value = cmt.Parent.Value ' תוכן התא wsDest.Cells(destRow, 3).Value = cmt.Text ' תוכן ההערה destRow = destRow + 1 Next cmt ' עצב טבלה lastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Row wsDest.Range("A1:C" & lastRow).Select wsDest.ListObjects.Add(xlSrcRange, Selection, , xlYes).Name = "CommentsTable" wsDest.ListObjects("CommentsTable").TableStyle = "TableStyleMedium9" MsgBox "ייבוא ההערות הסתיים. נמצאו " & destRow - 2 & " הערות.", vbInformation End Sub מרובי בוט