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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. VLOOKUP עם ערך לחיפוש משתנה, אפשרי בלי IF?

VLOOKUP עם ערך לחיפוש משתנה, אפשרי בלי IF?

מתוזמן נעוץ נעול הועבר תוכנה
7 פוסטים 4 כותבים 306 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • S מנותק
    S מנותק
    Sfsf3925
    כתב ב נערך לאחרונה על ידי
    #1

    קובץ הנתונים (מקור) בנוי כך:
    שם
    כתובת
    טלפון 1
    טלפון 2
    טלפון 4
    טלפון 5

    דו"ח הקמפיין בנוי כך:
    טלפון
    תוצאה

    בעבר כשהיה לי רק 2 טלפונים ללקוח הייתי משתמש עם IFERRORE ופעמיים VLOOKUP

    =IFERROR(VLOOKUP(AD:AD,'קמפיין'!B:C,2,0),VLOOKUP(AE:AE,'קמפיין'!B:C,2,0))
    

    האם יש דרך לבצע את זה על 5 עמודות של טלפונים בלי IF שמתארך?

    🥴

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

      @Sfsf3925 לא ציינת מה התוצאה שאתה מבקש להציג

      S תגובה 1 תגובה אחרונה
      0
      • S מנותק
        S מנותק
        Sfsf3925
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        @OdedDvir צודק, סורי..
        את התוצאה בקמפיין כמובן. הערך החד ערכי בקמפיין הוא טלפון, הבעיה שבקובץ מקור הטלפון יכול להיות ב1 מתוך 5 עמודות שונות, אפשר לעשות if קצת ארוך אבל זה מסורבל.

        🥴

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

          @Sfsf3925 אפשר לחפש על ידי MATCH בכל עמודה, ולצרף את מערכי התוצאות. לדוגמא:
          3baf651b-f7c1-45ba-9dc3-b8864a001827-תמונה.png

          הנוסחא בתא G2 היא:

          =IFERROR(INDEX(K:K,MATCH(1,(B2=J:J)+(C2=J:J)+(D2=J:J)+(E2=J:J),0)),"אין תוצאה")
          

          הסבר:

          1. INDEX מאחזר ערך מתוך עמודה לפי אינדקס.
          2. MATCH מחזיר את אינדקס הערך המבוקש בטווח.
            הערך המבוקש כאן הוא 1 (כפי שיוסבר מיד). הטווח כאן הוא חיבור של טווחים (מערכים בוליאנים), שמתקבלים על ידי השוואת העמודה של הטלפונים J:J עם מספר מסויים, כאשר B2 הוא המספר הראשון, C2 הוא המספר השני וכו'.
            החיבור הזה יצור מערך יחיד המכיל אפסים (כי חיבור של בוליאני נותן 0 או 1) מלבד האינדקס שבו נמצאה ההתאמה ובו יופיע הערך 1.
            למשל עבור השורה של אברהם (הראשונה עם הנתונים), המערך שיתקבל בסוף הוא:
          {0,0,1,0,0,0}
          

          (יש 6 איברים כי לא התעלמתי משורת הכותרת)
          ולכן הנוסחא MATCH(1,{0,0,1,0,0,0},0) תחזיר את הערך 3 לפונקציה INDEX, מה שיגרום לה לרוץ כך:

          INDEX(K:K,3)
          

          ולהחזיר את הערך: 1000.

          Y.Excel.AccessY dovidD 2 תגובות תגובה אחרונה
          9
          • Y.Excel.AccessY מנותק
            Y.Excel.AccessY מנותק
            Y.Excel.Access
            השיב לOdedDvir ב נערך לאחרונה על ידי
            #5

            @OdedDvir מדהים! חידש לי ממש.
            הערה חשובה:
            לפחות לגרסאות היותר ישנות, לחישוב נכון של הנוסחה צריך להקיש בסיום כתיבת הנוסחה CTRL+SHIFT+ENTER לקבלת החישוב כנוסחת מערך.

            Y.Excel.Access @ gmail.com

            תגובה 1 תגובה אחרונה
            3
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב לOdedDvir ב נערך לאחרונה על ידי
              #6

              @OdedDvir אמר ב[VLOOKUP עם ערך לחיפוש משתנה, אפשרי בלי IF?]

              גם אני נפעם...
              מה זה התחביר הזה:
              (B2=J:J)?
              מה זה אומר?

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                @dovid אמר בVLOOKUP עם ערך לחיפוש משתנה, אפשרי בלי IF?:

                מה זה התחביר הזה:
                (B2=J:J)?

                זו נוסחת מערך, פיצ'ר מאוד שימושי שנכנס בשנת 2018.
                הרעיון הוא שנוסחא יכולה מעתה להחזיר מערך של תוצאות, ולא רק ערך יחיד.
                הנוסחה המסויימת הזו היא להשוואה של B2 מול כל העמודה J. הערך שיוחזר הוא מערך בוליאני של השוואת B2 מול כל ערך בעמודה J.
                במקרה הזה הנוסחא לא כ"כ יעילה, כי לא צריך להשוות ממש את כל העמודה, אלא רק את 5 התאים בעלי הערך. אבל קיצרתי כדי שיהיה מובן. יותר טוב לכתוב כך:

                B2=J2:J6
                

                וכן הלאה.

                בגרסאות הראשונות של נוסחאות המערך, היה צורך להקליד אותן בצורה מתוסבכת עם Shift+Enter כמו שציין @Y-Excel-Access, והן הופיעו בשורת הנוסחא עם סוגריים מסולסלות. כיום אקסל חוסך מאיתנו את כאב הראש הזה ואפשר להקליד כמו נוסחא רגילה.

                תוכל לנסות על ידי הקלדה של הנוסחא B2=J2:J6 בתוך תא כלשהו (מחוץ לטבלה) ולראות שמתקבל מערך בוליאני.

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

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

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

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