דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. שגיאה בפונקציית פילטר בגוגל שיטס

שגיאה בפונקציית פילטר בגוגל שיטס

מתוזמן נעוץ נעול הועבר תוכנה
8 פוסטים 3 כותבים 252 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    שמחה זו הסיסמא
    כתב ב נערך לאחרונה על ידי
    #1

    בנוסחה FILTER
    פעמים רבות נתקלתי בשגיאה

    הפונקציה FILTER מכילה גדלים לא תואמים של טווחים. 
    ספירת השורות שהייתה צפויה להתקבל: 1000. 
    ספירת העמודות: 1. 
    ספירת השורות שהתקבלה בפועל: 1, 
    ספירת העמודות: 1.
    

    אף פעם לא הבנתי מה הפירוש של השגיאה הזו
    ואני אפרט
    אם אני כותב לדוגמא

    =FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),or(E:E <= TODAY(),E:E=""))
    

    אני מקבל את השגיאה הזו
    אבל אם אני מחלק את הנוסחה לחלקים
    דהיינו
    אם אני כותב ככה

    =FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),E:E <= TODAY())
    

    או ככה

    =FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),E:E="")
    

    זה עובד בלי בעיות
    אשמח להסבר מהיא מהות השגיאה כמו גם למה שילוב 2 התנאים יחד הם שגרמו את הבעיה

    תודה רבה מראש

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לשמחה זו הסיסמא ב נערך לאחרונה על ידי OdedDvir
      #2

      @שמחה-זו-הסיסמא הסיבה לשגיאה כתובה בהודעה: הטווח שהיה אמור להתקבל הוא של 1000 שורות בעוד הטווח שהתקבל בפועל מכיל רק שורה אחת.
      קשה לענות בלי לראות את הנתונים.
      נסה לשרשר את הפונקציות:

      =FILTER(FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),E:E <= TODAY()),E:E="") 
      
      ש 2 תגובות תגובה אחרונה
      1
      • ש מנותק
        ש מנותק
        שמחה זו הסיסמא
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        @OdedDvir

        1. זה מביא את אותה שגיאה
        2. אני לא הבנתי על איזה טווח הוא מדבר.
        3. מה שאני רוצה שיהיה זה שאם אחד משני התנאים מתקיימים, זה יכנס לטבלה החדשה.
          אם הבנתי נכון מה שאתה כתבת זה לשרשר 2 תנאים, וגם לא הבנתי למה לכתוב פעמיים את הפונקציה פילטר, ניתן להוסיף תנאים נוספים
        תגובה 1 תגובה אחרונה
        0
        • ש מנותק
          ש מנותק
          שמחה זו הסיסמא
          השיב לOdedDvir ב נערך לאחרונה על ידי
          #4

          @OdedDvir
          לבקשתך
          אני מעלה כאן קובץ אקסל עם הנתונים (בלבד, ללא הפונקציה פילטר מכיון שהיא אינה נתמכת באקסל)

          תודה רבה
          דוגמא.xlsx

          OdedDvirO תגובה 1 תגובה אחרונה
          0
          • ש מנותק
            ש מנותק
            שמחה זו הסיסמא
            כתב ב נערך לאחרונה על ידי
            #5

            פיתרון זמני מצאתי
            כתבתי ככה

            =FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),if(E:E="",TRUE,E:E <= TODAY()))
            

            אבל עדיין לא זכיתי להבין את הבעיה על איזה טווח הוא מחפש לקבל 1000 שורות שהוא קיבל בפועל רק שורה אחת

            תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לשמחה זו הסיסמא ב נערך לאחרונה על ידי OdedDvir
              #6

              @שמחה-זו-הסיסמא הבעיה היא בתנאי האחרון:

              or(E:E <= TODAY(),E:E="")
              

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

              אגב:
              יש כאן עוד בעיה בלוגיקה של התנאי, כי גם תא ריק מחזיר TRUE בהשוואה:

              <= TODAY()
              

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

              =FILTER(A1:F,LEFT(C:C,5) = left(L$1,5),E:E <= TODAY()) 
              
              ש תגובה 1 תגובה אחרונה
              3
              • ש מנותק
                ש מנותק
                שמחה זו הסיסמא
                השיב לOdedDvir ב נערך לאחרונה על ידי
                #7

                @OdedDvir
                אני מקווה שהבנתי
                לגבי הנקודה השניה שהעלית
                אז היה לי טעות אני מבקש להציג רק תאים הוא שווה או גדול מהיום.

                Y.Excel.AccessY תגובה 1 תגובה אחרונה
                0
                • Y.Excel.AccessY מנותק
                  Y.Excel.AccessY מנותק
                  Y.Excel.Access
                  השיב לשמחה זו הסיסמא ב נערך לאחרונה על ידי Y.Excel.Access
                  #8

                  @שמחה-זו-הסיסמא אמר בשגיאה בפונקציית פילטר בגוגל שיטס:

                  @OdedDvir
                  אני מקווה שהבנתי

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

                  • TEXTJOIN
                  • AND
                  • OR
                    פונקציות אלו תמיד יחזירו ערך בודד, כך שאי אפשר להשתמש בהם כלל בתוך פונקציית מערך כי הם יכשילו את המערך ויחייבו אותו להחזיר ערך יחיד.

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

                  Y.Excel.Access @ gmail.com

                  תגובה 1 תגובה אחרונה
                  1

                  בא תתחבר לדף היומי!
                  • התחברות

                  • אין לך חשבון עדיין? הרשמה

                  • התחברו או הירשמו כדי לחפש.
                  • פוסט ראשון
                    פוסט אחרון
                  0
                  • דף הבית
                  • קטגוריות
                  • פוסטים אחרונים
                  • משתמשים
                  • חיפוש
                  • חוקי הפורום