Skip to main content

20+ דוגמאות ל-VLOOKUP למתחילים ולמתקדמים ב-Excel

Author: Xiaoyang Last Modified: 2025-05-30

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


מבוא לפונקציית VLOOKUP – תחביר וארגומנטים

ב-Excel, פונקציית VLOOKUP היא כלי עוצמתי עבור רוב המשתמשים, ומאפשרת לחפש ערך בעמודה השמאלית ביותר של אזור הנתונים ולהחזיר ערך תואם מאותה שורה בעמודה שתבחר, כפי שמוצג בצילום המסך הבא.
Syntax and Arguments of vlookup function

תחביר פונקציית VLOOKUP:

=VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

ארגומנטים:

"Lookup_value" (נדרש): הערך שברצונך לחפש. זה יכול להיות ערך (מספר, תאריך או טקסט) או הפניה לתא. עליו להימצא בעמודה הראשונה של טווח ה-table_array. 

"Table_array" (נדרש): טווח הנתונים או הטבלה שבהם נמצאות עמודת ערך החיפוש ועמודת ערך התוצאה.

"Col_index_num" (נדרש): מספר העמודה שמכילה את הערכים המוחזרים. הספירה מתחילה מ-1 בעמודה השמאלית ביותר בטבלת הנתונים.

"Range_lookup" (אופציונלי): ערך לוגי שקובע האם פונקציית VLOOKUP תחזיר התאמה מדויקת או משוערת.

  • "התאמה משוערת" –1 / TRUE / לא צוין (ברירת מחדל): אם לא נמצאה התאמה מדויקת, הנוסחה תחפש את הערך הקרוב ביותר - הערך הגבוה ביותר שקטן מערך החיפוש.
  • "התאמה מדויקת" –0 / FALSE: משמשת לחיפוש ערך הזהה בדיוק לערך החיפוש. אם לא נמצאה התאמה מדויקת, יוחזר ערך שגיאה #N/A.

הערות לפונקציה:

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

דוגמאות בסיסיות ל-VLOOKUP

בקטע זה נדון בכמה נוסחאות VLOOKUP בהן אתם משתמשים לעיתים קרובות.

2.1 VLOOKUP בהתאמה מדויקת ובהתאמה משוערת

 2.1.1 ביצוע VLOOKUP בהתאמה מדויקת

בדרך כלל, כאשר אתם מחפשים התאמה מדויקת עם פונקציית VLOOKUP, יש להשתמש ב-FALSE כארגומנט האחרון.

לדוגמה, כדי לקבל את ציוני המתמטיקה בהתבסס על מספרי תעודת זהות מסוימים, בצעו כך:
 sample data

העתיקו והדביקו את הנוסחה הבאה לתא ריק (כאן, בחרתי G2), ולחצו על מקש "Enter" לקבלת התוצאה:

=VLOOKUP(F2,$A$2:$D$7,3,FALSE)

 apply the vlookup formula

הערה: בנוסחה לעיל ישנם ארבעה ארגומנטים:

  • "F2" הוא התא שמכיל את הערך C1005 שברצונכם לחפש;
  • "A2:D7" הוא טווח הטבלה שבו מתבצע החיפוש;
  • "3" הוא מספר העמודה שממנה יוחזר הערך התואם; (ברגע שהפונקציה מזהה את ה-ID - C1005, היא תעבור לעמודה השלישית בטבלה ותחזיר את הערך מאותה שורה של ה-ID - C1005.)
  • "FALSE" מתייחס להתאמה מדויקת.

איך פועלת נוסחת VLOOKUP?

ראשית, היא מחפשת את ה-ID - C1005 בעמודה השמאלית ביותר של הטבלה. היא עוברת מלמעלה למטה ומוצאת את הערך בתא A6.
  It goes from top to bottom and finds the value in specific cell

ברגע שנמצא הערך, היא פונה ימינה לעמודה השלישית ומוציאה ממנה את הערך.
it goes to the right in the third column and extracts the value in it

כך תקבלו את התוצאה כפי שמוצג בצילום המסך הבא:
get the result

הערה: אם ערך החיפוש לא נמצא בעמודה השמאלית ביותר, תוחזר שגיאה #N/A.
🤖 עוזר KUTOOLS AI: מהפכה בניתוח נתונים בהתבסס על: ביצוע אינטליגנטי   |  ייצור קוד  |  יצירת נוסחאות מותאמות אישית  |  ניתוח נתונים וייצור תרשימים  |  קריאה לפונקציות Kutools
תכונות פופולריות: מצא, הדגש או סמן כפילויות   |  מחק שורות ריקות   |  שלב עמודות או תאים ללא אובדן נתונים   |   עיגול ללא נוסחה ...
חיפוש מתקדם: VLookup עם קריטריונים מרובים  |   VLookup עם מספר ערכים  |   חיפוש במספר גליונות   |   התאמה עמומה ...
רשימת נפתחת מתקדמת: יצירת רשימה נפתחת במהירות   |  רשימת נפתחת תלויה   |  רשימת נפתחת עם בחירה מרובה ...
מנהל עמודות: הוסף מספר מסוים של עמודות  |  הזז עמודות   |  הצג מחדש עמודות  |  השווה טווחים ועמודות ...
תכונות מובילות: מיקוד רשת   |  תצוגת עיצוב   |   שורת נוסחאות משופרת   |  מנהל חוברות עבודה וגיליונות  |  ספריית טקסט אוטומטי   |  בורר תאריך  |  מיזוג נתונים   |  הצפנה/פענוח תאים    שלח דוא"ל לפי רשימת   |  סינון מתקדם   |   סינון מיוחד (על פי מודגש/נטוי...) ...
ערכת כלים מובילה 1512 כלים לטקסט (הוסף טקסט, מחק תווים, ...)   |   מעל 50 סוגי תרשימים (תרשים גאנט, ...)   |   מעל 40 נוסחאות שימושיות (חישוב גיל על פי תאריך לידה, ...)   |   19 כלים להוספה (הכנס קוד QR, הכנס תמונה ממסלול, ...)   |   12 כלים להמרה (המרה למילים, המרת מטבע, ...)   |   7 כלים למיזוג ופיצול (מיזוג מתקדם של שורות, פיצול תאים, ...)   |   ועוד רבים...

Kutools for Excel מצויד ביותר מ-300 תכונות, ומבטיח שכל מה שאתה צריך נמצא במרחק לחיצה אחת בלבד...

 
 2.1.2 ביצוע VLOOKUP בהתאמה משוערת

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

לדוגמה, אם יש לכם טווח נתונים כפי שמוצג, וההזמנות שצוינו אינן נמצאות בעמודת Orders, כיצד ניתן לקבל את ההנחה הקרובה ביותר בעמודה B?
Do an approximate match VLOOKUP

שלב1: החל את נוסחת VLOOKUP ומלא אותה לתאים נוספים

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

=VLOOKUP(D2,$A$2:$B$9,2,TRUE)

תוצאה:

כעת תקבלו את ההתאמות המשוערות בהתבסס על הערכים הנתונים, ראו צילום מסך:
Apply the VLOOKUP formula and fill it to other cells

הערות:

  • בנוסחה לעיל:
    • "D2" הוא הערך שברצונכם להחזיר את המידע היחסי שלו;
    • "A2:B9" הוא טווח הנתונים;
    • "2" מציין את מספר העמודה שממנה יוחזר הערך התואם;
    • "TRUE" מתייחס להתאמה משוערת.
  • התאמה משוערת תחזיר את הערך הגבוה ביותר שקטן מערך החיפוש הספציפי שלכם אם לא נמצאה התאמה מדויקת.
  • כדי להשתמש בפונקציית VLOOKUP לקבלת ערך בהתאמה משוערת, עליכם למיין את העמודה השמאלית ביותר של טווח הנתונים בסדר עולה, אחרת תתקבל תוצאה שגויה.

2.2 ביצוע VLOOKUP תלוי רישיות ב-Excel

כברירת מחדל, פונקציית VLOOKUP מבצעת חיפוש שאינו תלוי רישיות, כלומר היא מתייחסת לאותיות קטנות וגדולות כזהות. לעיתים, ייתכן שתצטרכו לבצע חיפוש תלוי רישיות ב-Excel, אך הפונקציה הרגילה לא תפתור זאת. במקרה כזה, ניתן להשתמש בפונקציות חלופיות כגון INDEX ו-MATCH עם הפונקציה EXACT, או בשילוב LOOKUP ו-EXACT.

לדוגמה, יש לי טווח נתונים שבו עמודת ה-ID מכילה מחרוזות טקסט באותיות גדולות או קטנות, וכעת אני רוצה להחזיר את ציון המתמטיקה התואם למספר ה-ID הנתון.
Do a case sensitive VLOOKUP

שלב1: החל אחת מהנוסחאות ומלא לתאים נוספים

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

נוסחה1: לאחר הדבקת הנוסחה, לחץ על "Ctrl" + "Shift" + "Enter".

=INDEX($C$2:$C$10,MATCH(TRUE,EXACT(F2,$A$2:$A$10),0))

נוסחה2: לאחר הדבקת הנוסחה, לחץ על "Enter".

=LOOKUP(2,1/EXACT(F2,$A$2:$A$10),$C$2:$C$10)

תוצאה:

כעת תקבלו את התוצאות הנכונות שאתם צריכים. ראו צילום מסך:
Apply any one formula and fill it to other cells

הערות:

  • בנוסחה לעיל:
    • "A2:A10" היא העמודה שמכילה את הערכים הספציפיים שברצונכם לחפש בהם;
    • "F2" הוא ערך החיפוש;
    • "C2:C10" היא העמודה שממנה יוחזר הערך.
  • אם נמצאו מספר התאמות, נוסחה זו תמיד תחזיר את ההתאמה האחרונה.

2.3 VLOOKUP לערכים מימין לשמאל ב-Excel

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

לחצו כאן למדריך שלב אחר שלב למשימה זו…

VLOOKUP values from right to left


2.4 VLOOKUP לערך השני, ה-n או האחרון שנמצא ב-Excel

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

 2.4.1 VLOOKUP והחזרת הערך השני או ה-n שנמצא

נניח שיש לכם רשימת שמות בעמודה A, וקורסי ההדרכה שהם רכשו בעמודה B. כעת, אתם רוצים למצוא את קורס ההדרכה השני או ה-n שנרכש על ידי הלקוח הנתון. ראו צילום מסך:
VLOOKUP and return the second or nth matching value

כאן, פונקציית VLOOKUP לא תפתור זאת ישירות. אך ניתן להשתמש בפונקציית INDEX כחלופה.

שלב1: החל ומלא את הנוסחה לתאים נוספים

לדוגמה, כדי לקבל את הערך השני בהתבסס על הקריטריונים הנתונים, יש להחיל את הנוסחה הבאה לתא ריק, וללחוץ על "Ctrl" + "Shift" + "Enter" יחד לקבלת התוצאה הראשונה. לאחר מכן, בחר את תא הנוסחה וגרור את ידית המילוי כלפי מטה לתאים שברצונך למלא.

=INDEX($B$2:$B$14,SMALL(IF(E2=$A$2:$A$14,ROW($A$2:$A$14)-ROW($A$2)+1),2))

תוצאה:

כעת, כל הערכים השניים שנמצאו בהתבסס על השמות הנתונים מוצגים בבת אחת.
Apply and fill the formula to other cells

הערה: בנוסחה לעיל:

  • "A2:A14" הוא הטווח עם כל הערכים לחיפוש;
  • "B2:B14" הוא הטווח של הערכים התואמים שברצונכם להחזיר מהם;
  • "E2" הוא ערך החיפוש;
  • "2" מציין את הערך השני שברצונכם לקבל, כדי להחזיר את הערך השלישי, יש לשנות ל-3.
 2.4.2 VLOOKUP והחזרת הערך האחרון שנמצא

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

VLOOKUP and return the last matching value


2.5 VLOOKUP לערכים תואמים בין שני ערכים או תאריכים נתונים

לעיתים, תרצו לחפש ערכים בין שני ערכים או תאריכים ולהחזיר את התוצאות התואמות כפי שמוצג בצילום המסך. במקרה כזה, ניתן להשתמש בפונקציית LOOKUP במקום VLOOKUP עם טבלה ממוינת.
VLOOKUP matching values between two values

 2.5.1 VLOOKUP לערכים תואמים בין שני ערכים או תאריכים באמצעות נוסחה

שלב1: סדרו את הנתונים והחילו את הנוסחה הבאה

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

=LOOKUP(2,1/($A$2:$A$6<=E2)/($B$2:$B$6>=E2),$C$2:$C$6)

תוצאה:

כעת, כל הרשומות התואמות בהתבסס על הערך הנתון יופיעו, ראו צילום מסך:
Arrange the data and apply a formula

הערות:

  • בנוסחה לעיל:
    • "A2:A6" הוא טווח הערכים הקטנים יותר;
    • "B2:B6" הוא טווח המספרים הגדולים יותר;
    • "E2" הוא ערך החיפוש שברצונכם לקבל את הערך התואם שלו;
    • "C2:C6" היא העמודה שממנה תרצו להחזיר ערך תואם.
  • נוסחה זו מתאימה גם לשליפת ערכים תואמים בין שני תאריכים כפי שמוצג בצילום המסך:
    this formula also can extract matched values between two dates
 2.5.2 VLOOKUP לערכים תואמים בין שני ערכים או תאריכים באמצעות תכונה נוחה

אם קשה לכם לזכור ולהבין את הנוסחה לעיל, כאן אציג כלי פשוט – "Kutools for Excel", עם התכונה "מציאת נתונים בין שני ערכים" תוכלו להחזיר את הפריט התואם בהתבסס על ערך או תאריך מסוים בין שני ערכים או תאריכים בקלות.

  1. לחצו על "Kutools" > "חיפוש מתקדם" > "מציאת נתונים בין שני ערכים" כדי להפעיל תכונה זו.
  2. לאחר מכן הגדירו את הפעולות בתיבת הדו-שיח בהתאם לנתונים שלכם.
הערה: כדי להחיל תכונה זו, יש להוריד את Kutools for Excel עם תקופת ניסיון חינם ל-30 יום.

VLOOKUP matching values between two given values or dates by kutools

Kutools for Excel מציעה יותר מ-300 תכונות מתקדמות כדי לפשט משימות מורכבות, להגביר יצירתיות ויעילות. משולב עם יכולות AI, Kutools מבצע משימות בצורה מדויקת, מה שהופך את ניהול הנתונים לקל ואינטואיטיבי. מידע מפורט על Kutools for Excel... ניסיון חינם...

2.6 שימוש בתווי כלל (Wildcards) להתאמות חלקיות בפונקציית VLOOKUP

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

נניח שיש לי טווח נתונים כפי שמוצג, כעת אני רוצה לשלוף את הציון בהתבסס על השם הפרטי (ולא השם המלא). כיצד ניתן לפתור זאת ב-Excel?
VLOOKUP partial matches

שלב1: החל את הנוסחה ומלא לתאים נוספים

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

=VLOOKUP(E2&"*", $A$2:$C$11, 3, FALSE)

תוצאה:

כל הציונים התואמים הוחזרו כפי שמוצג בצילום המסך:
Apply and fill the formula to other cells

הערה: בנוסחה לעיל:

  • "E2*" הוא הקריטריון להתאמה חלקית. כלומר, אתם מחפשים כל ערך שמתחיל בערך שבתא E2. (תו הכלל "*" מסמן כל תו או מספר תווים כלשהו)
  • "A2:C11" הוא טווח הנתונים שבו ברצונכם לחפש את הערך התואם;
  • "3" פירושו להחזיר את הערך התואם מהעמודה השלישית בטווח הנתונים;
  • "False" מציין התאמה מדויקת. (בעת שימוש בתווי כלל, יש להגדיר את הארגומנט האחרון בפונקציה כ-FALSE או0 כדי להפעיל מצב התאמה מדויקת ב-VLOOKUP.)
טיפים:
  • כדי למצוא ולהחזיר ערכים תואמים שמסתיימים בערך מסוים, יש לשים את תו הכלל "*" לפני הערך. יש להחיל נוסחה זו:
  • =VLOOKUP("*"&E2, $A$2:$C$11, 3, FALSE)

    To return the matching values ending with a specific value, put the wildcard in front of the value
  • כדי לחפש ולהחזיר ערך תואם בהתבסס על חלק ממחרוזת הטקסט, בין אם הטקסט המבוקש נמצא בתחילה, בסוף או באמצע המחרוזת, יש להקיף את ההפניה לתא או הטקסט בשני כוכביות (*) משני הצדדים. בצעו זאת עם נוסחה זו
  • =VLOOKUP("*"&D2&"*", $A$2:$B$11, 2, FALSE)

    to return the matched value based on part of the text string, enclose the cell reference with two asterisks on both sides

2.7 VLOOKUP לערכים מגליון עבודה אחר

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

לדוגמה, יש לכם שני גליונות עבודה כפי שמוצג, כדי לחפש ולהחזיר את הנתונים התואמים מהגליון שציינתם, בצעו את השלבים הבאים:
VLOOKUP from another worksheet

שלב1: החל את הנוסחה ומלא לתאים נוספים

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

=VLOOKUP(A2,'Data sheet'!$A$2:$C$15,3,0)

תוצאה:

תקבלו את התוצאות התואמות לפי הצורך, ראו צילום מסך:

data in one sheet arrow right get the corresponding results in another sheet

הערה: בנוסחה לעיל:

  • "A2" מייצג את ערך החיפוש;
  • "'Data sheet'!A2:C15" מציין שיש לחפש את הערכים בטווח A2:C15 בגליון בשם Data sheet; (אם שם הגליון מכיל רווח או תווים מיוחדים, יש להקיף את שם הגליון בגרשיים בודדים, אחרת ניתן להשתמש בשם הגליון ישירות כמו:
    =VLOOKUP(A2,Datasheet!$A$2:$C$15,3,0) ).
  • "3" הוא מספר העמודה שמכילה את הנתונים התואמים שברצונכם להחזיר;
  • "0" פירושו לבצע התאמה מדויקת.

2.8 VLOOKUP לערכים מחוברת עבודה אחרת

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

לדוגמה, נניח שיש לכם שתי חוברות עבודה. הראשונה מכילה רשימת מוצרים והעלויות שלהם. בשנייה, תרצו לשלוף את העלות התואמת לכל פריט מוצר כפי שמוצג בצילום המסך.
VLOOKUP from another workbook

שלב1: החל את הנוסחה

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

=VLOOKUP(B2,'[Product list.xlsx]Sheet1'!$A$2:$B$6,2,0)

תוצאה:

Apply and fill the formula

הערות:

  • בנוסחה לעיל:
    • "B2" מייצג את ערך החיפוש;
    • "'[Product list.xlsx]Sheet1'!A2:B6" מציין שיש לחפש בטווח A2:B6 בגליון Sheet1 מתוך חוברת העבודה Product list; (הפניה לחוברת עבודה מוקפת בסוגריים מרובעים, וכל חוברת העבודה + גליון מוקפים בגרשיים בודדים.)
    • "2" הוא מספר העמודה שמכילה את הנתונים התואמים שברצונכם להחזיר;
    • "0" מציין להחזיר התאמה מדויקת.
  • אם חוברת העבודה של החיפוש סגורה, נתיב הקובץ המלא של חוברת העבודה יופיע בנוסחה כפי שמוצג בצילום המסך:
    If the lookup workbook is closed, the full file path for the lookup workbook is shown in the formula

2.9 החזרת תא ריק או טקסט מסוים במקום0 או שגיאת #N/A

בדרך כלל, כאשר אתם משתמשים בפונקציית VLOOKUP להחזרת ערך תואם, אם התא התואם ריק, יוחזר0. ואם הערך התואם לא נמצא, תקבלו ערך שגיאה #N/A כפי שמוצג בצילום המסך. אם תרצו להציג תא ריק או ערך מסוים במקום0 או #N/A, מדריך זה "VLOOKUP להחזרת תא ריק או ערך מסוים במקום0 או N/A" עשוי לעזור לכם.

Return blank or specific text instead of 0 or #N/A error


דוגמאות מתקדמות ל-VLOOKUP

3.1 חיפוש דו-כיווני (VLOOKUP בשורה ובעמודה)

לעיתים, תצטרכו לבצע חיפוש דו-ממדי, כלומר לחפש ערך גם בשורה וגם בעמודה בו-זמנית. לדוגמה, אם יש לכם טווח נתונים כפי שמוצג, ייתכן שתצטרכו לקבל את הערך עבור מוצר מסוים ברבעון מסוים. קטע זה יציג נוסחה לטיפול במשימה זו ב-Excel.
VLOOKUP in row and column

ב-Excel, ניתן לשלב את פונקציות VLOOKUP ו-MATCH כדי לבצע חיפוש דו-כיווני.

החילו את הנוסחה הבאה לתא ריק, ולאחר מכן לחצו על מקש "Enter" לקבלת התוצאה.

=VLOOKUP(G2, $A$2:$E$7, MATCH(H1, $A$2:$E$2, 0), FALSE)

use a combination of VLOOKUP and MATCH functions to get the result

הערה: בנוסחה לעיל:

  • "G2" הוא ערך החיפוש בעמודה שעל פיו תרצו לקבל את הערך התואם;
  • "A2:E7" היא טבלת הנתונים ממנה תחפשו;
  • "H1" הוא ערך החיפוש בשורה שעל פיו תרצו לקבל את הערך התואם;
  • "A2:E2" הם תאי כותרות העמודות;
  • "FALSE" מציין קבלת התאמה מדויקת.

3.2 VLOOKUP לערך תואם בהתבסס על שני קריטריונים או יותר

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

 3.2.1 VLOOKUP לערך תואם בהתבסס על שני קריטריונים או יותר עם נוסחאות

במקרה זה, פונקציות LOOKUP או MATCH ו-INDEX ב-Excel יכולות לעזור לכם לפתור זאת במהירות ובקלות.

לדוגמה, יש לי טבלת נתונים כפי שמוצג, כדי להחזיר את המחיר התואם בהתבסס על מוצר וגודל מסוימים, הנוסחאות הבאות עשויות לעזור.
VLOOKUP based on two or more criteria

שלב1: החילו אחת מהנוסחאות הבאות

נוסחה1: הזינו את הנוסחה הבאה ולחצו על "Enter".

=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2),($D$2:$D$12))

נוסחה2: הזינו את הנוסחה הבאה ולחצו על "Ctrl" + "Shift" + "Enter".

=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2),0))

תוצאה:

Apply any one formula to get the result

הערות:

  • בנוסחאות לעיל:
    • "A2:A12=G1" פירושו לחפש את הקריטריון של G1 בטווח A2:A12;
    • "B2:B12=G2" פירושו לחפש את הקריטריון של G2 בטווח B2:B12;
    • "D2:D12" הוא הטווח שממנו תרצו להחזיר את הערך התואם.
  • אם יש לכם יותר משני קריטריונים, פשוט חברו את הקריטריונים הנוספים לנוסחה, לדוגמה:
    =LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2)/($C$2:$C$12=G3),($D$2:$D$12))
    =INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2)*($C$2:$C$12=G3),0))
  • join the other criteria into the formula if there are more than two criteria
 3.2.2 VLOOKUP לערך תואם בהתבסס על שני קריטריונים או יותר עם Kutools for Excel

לעיתים קשה לזכור את הנוסחאות המורכבות שיש להחיל שוב ושוב, דבר שעלול להאט את קצב העבודה. עם זאת, "Kutools for Excel" מציע תכונה בשם "חיפוש מרובה תנאים" המאפשרת להחזיר את התוצאה התואמת בהתבסס על תנאי אחד או יותר בכמה לחיצות בלבד.

  1. לחצו על "Kutools" > "חיפוש מתקדם" > "חיפוש מרובה תנאים" כדי להפעיל תכונה זו.
  2. לאחר מכן הגדירו את הפעולות בתיבת הדו-שיח בהתאם לנתונים שלכם.
הערה: כדי להחיל תכונה זו, יש להוריד את Kutools for Excel עם תקופת ניסיון חינם ל-30 יום.

VLOOKUP based on two or more criteria by kutools

Kutools for Excel מציעה יותר מ-300 תכונות מתקדמות כדי לפשט משימות מורכבות, להגביר יצירתיות ויעילות. משולב עם יכולות AI, Kutools מבצע משימות בצורה מדויקת, מה שהופך את ניהול הנתונים לקל ואינטואיטיבי. מידע מפורט על Kutools for Excel... ניסיון חינם...

3.3 VLOOKUP להחזרת ערכים מרובים עם קריטריון אחד או יותר

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

 3.3.1 VLOOKUP כל הערכים התואמים בהתבסס על תנאי אחד או יותר אופקית

נניח שיש לכם טבלת נתונים המכילה מדינה, עיר ושמות בטווח A1:C14, וכעת תרצו להחזיר את כל השמות אופקית שמקורם ב"US" כפי שמוצג בצילום המסך. לפתרון משימה זו, לחצו כאן לקבלת התוצאה שלב אחר שלב.

 VLOOKUP all matching values based on one or more conditions horizontally

 3.3.2 VLOOKUP כל הערכים התואמים בהתבסס על תנאי אחד או יותר אנכית

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

 VLOOKUP all matching values based on one or more conditions vertically

 3.3.3 VLOOKUP כל הערכים התואמים בהתבסס על תנאי אחד או יותר לתוך תא יחיד

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

 VLOOKUP all matching values based on one or more conditions into single cell

הערות:

  • הפונקציה TEXTJOIN זמינה רק ב-Excel2019, Excel365 וגרסאות מאוחרות יותר.
  • אם אתם משתמשים ב-Excel2016 או בגרסאות מוקדמות יותר, השתמשו בפונקציה המוגדרת על ידי המשתמש שבמאמר הבא:
  • Vlookup להחזרת ערכים מרובים בתא אחד ב-Excel

3.4 VLOOKUP להחזרת שורה שלמה של תא תואם

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

שלב1: החילו את הנוסחה הבאה

העתיקו או הקלידו את הנוסחה הבאה לתא ריק שבו תרצו להציג את התוצאה, ולחצו על "Enter" לקבלת הערך הראשון. לאחר מכן, גררו את תא הנוסחה ימינה עד שכל נתוני השורה יוצגו.

=VLOOKUP($F$2,$A$1:$D$12,COLUMN(A1),FALSE)

תוצאה:

כעת תוכלו לראות שכל נתוני השורה הוחזרו. ראו צילום מסך:
VLOOKUP to return entire row of a matched cell by a formula

הערה: בנוסחה לעיל:

  • "F2" הוא ערך החיפוש שעל פיו תרצו להחזיר את כל השורה;
  • "A1:D12" הוא טווח הנתונים שבו תרצו לחפש את ערך החיפוש;
  • "A1" מציין את מספר העמודה הראשון בטווח הנתונים שלכם;
  • "FALSE" מציין חיפוש מדויק.

טיפים:

  • אם נמצאו מספר שורות בהתבסס על הערך התואם, כדי להחזיר את כל השורות התואמות, החילו את הנוסחה הבאה, לאחר מכן לחצו על "Ctrl" + "Shift" + "Enter" יחד לקבלת התוצאה הראשונה. לאחר מכן גררו את ידית המילוי ימינה. לאחר מכן, המשיכו לגרור את ידית המילוי מטה לקבלת כל השורות התואמות. ראו הדגמה:
    =IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH($F$2,$A$2:$A$12)),ROW($A$2:$A$12),""),ROW()-1)),"")

3.5 VLOOKUP מקונן ב-Excel

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

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

הנוסחה הכללית ל-VLOOKUP מקונן היא:

=VLOOKUP(VLOOKUP(lookup_value, table_array1, col_index_num1,0), table_array2, col_index_num2,0)

הערות:

  • "lookup_value" הוא הערך שאתם מחפשים;
  • "Table_array1", "Table_array2" הן הטבלאות שבהן קיימים ערך החיפוש וערך התוצאה;
  • "col_index_num1" מציין את מספר העמודה בטבלה הראשונה למציאת נתון הביניים המשותף;
  • "col_index_num2" מציין את מספר העמודה בטבלה השנייה שממנה תרצו להחזיר את הערך התואם;
  • "0" משמש להתאמה מדויקת.

שלב1: החילו ומלאו את הנוסחה הבאה

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

=VLOOKUP(VLOOKUP(G3,$A$3:$B$7,2,0),$D$3:$E$7,2,0)

תוצאה:

כעת תקבלו את התוצאה כפי שמוצג בצילום המסך:
Apply and fill a formula

הערות: בנוסחה לעיל:

  • "G3" מכיל את הערך שאתם מחפשים;
  • "A3:B7", "D3:E7" הם טווחי הטבלאות שבהם קיימים ערך החיפוש וערך התוצאה;
  • "2" הוא מספר העמודה בטווח שממנו יוחזר הערך התואם.
  • "0" מציין התאמה מדויקת ב-VLOOKUP.

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

פונקציית VLOOKUP יכולה גם לעזור לכם לבדוק אם ערכים קיימים בהתבסס על רשימת נתונים בעמודה אחרת. לדוגמה, אם תרצו לחפש שמות בעמודה C ולהחזיר כן או לא אם השם נמצא או לא בעמודה A כפי שמוצג בצילום המסך.
Check if value exists based on a list data in another column

שלב1: החילו את הנוסחה הבאה

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

=IF(ISNA(VLOOKUP(C2,$A$2:$A$10,1,FALSE)), "No", "Yes")

תוצאה:

ותקבלו את התוצאה לפי הצורך, ראו צילום מסך:
Apply and fill a formula

הערות: בנוסחה לעיל:

  • "C2" הוא ערך החיפוש שברצונכם לבדוק;
  • "A2:A10" היא רשימת הטווח שממנה תבדקו אם ערכי החיפוש יימצאו או לא;
  • "FALSE" מציין קבלת התאמה מדויקת.

3.7 VLOOKUP וסכימת כל הערכים התואמים בשורות או עמודות

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

 3.7.1 VLOOKUP וסכימת כל הערכים התואמים בשורה או במספר שורות

נניח שיש לכם רשימת מוצרים עם מכירות למספר חודשים, כפי שמוצג בצילום המסך. כעת, עליכם לסכם את כל ההזמנות בכל החודשים בהתבסס על המוצרים הנתונים.
VLOOKUP and sum all matched values in a row

שלב1: החילו את הנוסחה הבאה

העתיקו או הזינו את הנוסחה הבאה לתא ריק, ולאחר מכן לחצו על "Ctrl" + "Shift" + "Enter" יחד לקבלת התוצאה הראשונה. לאחר מכן, גררו את ידית המילוי מטה להעתקת נוסחה זו לתאים נוספים לפי הצורך.

=SUM(VLOOKUP(H2, $A$2:$F$9, {2,3,4,5,6}, FALSE))

Apply and fill a formula

תוצאה:

כל הערכים בשורה של הערך התואם הראשון סוכמו יחד, ראו צילום מסך:
all values in a row of the first matching value are summed together

הערות: בנוסחה לעיל:

  • "H2" הוא התא שמכיל את הערך שאתם מחפשים;
  • "A2:F9" הוא טווח הנתונים (ללא כותרות עמודות) הכולל את ערך החיפוש והערכים התואמים;
  • "{2,3,4,5,6}" הם מספרי העמודות המשמשים לחישוב הסכום של הטווח;
  • "FALSE" מציין התאמה מדויקת.

טיפ: אם תרצו לסכם את כל ההתאמות במספר שורות, השתמשו בנוסחה הבאה:

  • =SUMPRODUCT(($A$2:$A$9=H2)*$B$2:$F$9)
  • apply a formula to sum all matches in multiple rows
 3.7.2 VLOOKUP וסכימת כל הערכים התואמים בעמודה או במספר עמודות

אם ברצונכם לסכם את הערך הכולל עבור חודשים מסוימים כפי שמוצג בצילום המסך. פונקציית VLOOKUP הרגילה לא תעזור, כאן יש לשלב את הפונקציות SUM, INDEX ו-MATCH ליצירת נוסחה.
VLOOKUP and sum all matched values in a column

שלב1: החילו את הנוסחה הבאה

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

=SUM(INDEX($B$2:$F$9,0,MATCH(H2,$B$1:$F$1,0)))

תוצאה:

כעת, הערכים התואמים הראשונים בהתבסס על החודש הספציפי בעמודה סוכמו יחד, ראו צילום מסך:
Apply and fill a formula

הערות: בנוסחה לעיל:

  • "H2" הוא התא שמכיל את הערך שאתם מחפשים;
  • "B1:F1" הן כותרות העמודות שמכילות את ערך החיפוש;
  • "B2:F9" הוא טווח הנתונים שמכיל את הערכים המספריים שברצונכם לסכם.

טיפים: כדי לבצע VLOOKUP ולסכם את כל הערכים התואמים במספר עמודות, השתמשו בנוסחה הבאה:

  • =SUMPRODUCT($B$2:$F$9*(($B$1:$F$1)=H2))
  • use a formula to sum all matched values in multiple columns
 3.7.3 VLOOKUP וסכימת הערך הראשון או כל הערכים התואמים עם Kutools for Excel

אולי הנוסחאות לעיל קשות לזכירה, במקרה כזה אמליץ על תכונה עוצמתית - "חיפוש וסכום" של Kutools for Excel, עם תכונה זו תוכלו לבצע VLOOKUP ולסכם את הערך הראשון או כל הערכים התואמים בשורות או עמודות בקלות.

  1. לחצו על "Kutools" > "חיפוש מתקדם" > "חיפוש וסכום" כדי להפעיל תכונה זו.
  2. לאחר מכן הגדירו את הפעולות בתיבת הדו-שיח בהתאם לצורך שלכם.
הערה: כדי להחיל תכונה זו, הורידו את Kutools for Excel עם תקופת ניסיון חינם ל-30 יום.
Kutools for Excel מציעה יותר מ-300 תכונות מתקדמות כדי לפשט משימות מורכבות, להגביר יצירתיות ויעילות. משולב עם יכולות AI, Kutools מבצע משימות בצורה מדויקת, מה שהופך את ניהול הנתונים לקל ואינטואיטיבי. מידע מפורט על Kutools for Excel... ניסיון חינם...
 3.7.4 VLOOKUP וסכימת כל הערכים התואמים גם בשורות וגם בעמודות

אם ברצונכם לסכם ערכים כאשר יש להתאים גם עמודה וגם שורה, לדוגמה, לקבל את הערך הכולל של מוצר Sweater בחודש מרץ כפי שמוצג בצילום המסך.
VLOOKUP and sum all matched values both in rows and columns

כאן ניתן להשתמש בפונקציה SUMPRODUCT כדי לבצע משימה זו.

החילו את הנוסחה הבאה לתא, ולאחר מכן לחצו על "Enter" לקבלת התוצאה, ראו צילום מסך:

=SUMPRODUCT(($B$2:$F$9)*($B$1:$F$1=I2)*($A$2:$A$9=H2))

use the SUMPRODCT function to get the result

הערות: בנוסחה לעיל:

  • "B2:F9" הוא טווח הנתונים שמכיל את הערכים המספריים שברצונכם לסכם;
  • "B1:F1" הן כותרות העמודות שמכילות את ערך החיפוש שברצונכם לסכם לפיו;
  • "I2" הוא ערך החיפוש בתוך כותרות העמודות שאתם מחפשים;
  • "A2:A9" הן כותרות השורות שמכילות את ערך החיפוש שברצונכם לסכם לפיו;
  • "H2" הוא ערך החיפוש בתוך כותרות השורות שאתם מחפשים.

3.8 VLOOKUP למיזוג שתי טבלאות בהתבסס על עמודות מפתח

בעבודתכם היומיומית, בעת ניתוח נתונים, ייתכן שתצטרכו לאסוף את כל המידע הנחוץ לטבלה אחת בהתבסס על עמודת מפתח אחת או יותר. לביצוע משימה זו, ניתן להשתמש בפונקציות INDEX ו-MATCH במקום VLOOKUP.

 3.8.1 VLOOKUP למיזוג שתי טבלאות בהתבסס על עמודת מפתח אחת

לדוגמה, יש לכם שתי טבלאות, הראשונה מכילה נתוני מוצרים ושמות, והשנייה מכילה נתוני מוצרים והזמנות. כעת, תרצו לשלב את שתי הטבלאות על ידי התאמת עמודת המוצר המשותפת לטבלה אחת.
VLOOKUP to merge two tables based on one key column

שלב1: החילו את הנוסחה הבאה

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

=INDEX($F$2:$F$8, MATCH($A2, $E$2:$E$8, 0))

תוצאה:

כעת תקבלו טבלה ממוזגת עם עמודת ההזמנה שמצורפת לטבלה הראשונה בהתבסס על נתוני עמודת המפתח.
Apply and fill a formula to get the result

הערות: בנוסחה לעיל:

  • "A2" הוא ערך החיפוש שאתם מחפשים;
  • "F2:F8" הוא טווח הנתונים שממנו תרצו להחזיר את הערכים התואמים;
  • "E2:E8" הוא טווח החיפוש שמכיל את ערך החיפוש.
 3.8.2 VLOOKUP למיזוג שתי טבלאות בהתבסס על מספר עמודות מפתח

אם שתי הטבלאות שברצונכם לשלב מכילות מספר עמודות מפתח, למיזוג הטבלאות בהתבסס על עמודות אלו, בצעו את השלבים הבאים.
VLOOKUP to merge two tables based on multiple key columns

הנוסחה הכללית היא:

=INDEX(lookup_table, MATCH(1, (lookup_value1=lookup_range1) * (lookup_value2=lookup_range2),0), return_column_number)

הערות:

  • "lookup_table" הוא טווח הנתונים שמכיל את נתוני החיפוש והרשומות התואמות;
  • "lookup_value1" הוא הקריטריון הראשון שאתם מחפשים;
  • "lookup_range1" הוא רשימת הנתונים שמכילה את הקריטריון הראשון;
  • "lookup_value2" הוא הקריטריון השני שאתם מחפשים;
  • "lookup_range2" הוא רשימת הנתונים שמכילה את הקריטריון השני;
  • "return_column_number" מציין את מספר העמודה ב-lookup_table שממנה תרצו להחזיר את הערך התואם.

שלב1: החילו את הנוסחה הבאה

החילו את הנוסחה הבאה לתא ריק שבו תרצו להציג את התוצאה, ולאחר מכן לחצו על "Ctrl" + "Shift" + "Enter" יחד לקבלת הערך הראשון, ראו צילום מסך:

=INDEX($E$2:$G$9, MATCH(1, ($A2=$E$2:$E$9) * ($B2=$F$2:$F$9), 0), 3)

Apply a formula

שלב2: מלאו את הנוסחה לתאים נוספים

לאחר מכן, בחרו את תא הנוסחה הראשון וגררו את ידית המילוי להעתקת נוסחה זו לתאים נוספים לפי הצורך:
Fill the formula to other cells

טיפ: ב-Excel2016 או בגרסאות מאוחרות יותר, ניתן גם להשתמש בתכונת "Power Query" כדי למזג שתי טבלאות או יותר לטבלה אחת בהתבסס על עמודות מפתח. לחצו כאן למדריך שלב אחר שלב.

3.9 VLOOKUP לערכים תואמים בין מספר גליונות עבודה

האם אי פעם נזקקתם לבצע VLOOKUP בין מספר גליונות עבודה ב-Excel? לדוגמה, אם יש לכם שלושה גליונות עם טווחי נתונים, ואתם רוצים לשלוף ערכים מסוימים בהתבסס על קריטריונים מהגליונות הללו, תוכלו לעקוב אחר המדריך שלב אחר שלב "VLOOKUP לערכים בין מספר גליונות עבודה" כדי לבצע משימה זו.

VLOOKUP across multiple worksheets


ערכי VLOOKUP תואמים שומרים על עיצוב התא

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

4.1 VLOOKUP לערך תואם ושמירת צבע התא ועיצוב הגופן

כידוע, פונקציית VLOOKUP הרגילה יכולה לשלוף רק את הערך התואם מטווח נתונים אחר. עם זאת, לעיתים תרצו לקבל את הערך התואם יחד עם עיצוב התא, כגון צבע מילוי, צבע גופן וסגנון גופן. בקטע זה נדון כיצד לשלוף ערכים תואמים תוך שמירה על עיצוב המקור ב-Excel.
VLOOKUP and keep cell formatting

בצעו את השלבים הבאים כדי לחפש ולהחזיר את הערך התואם יחד עם עיצוב התא:

שלב1: העתקו את קוד1 למודול הקוד של הגיליון

  1. בגליון העבודה שמכיל את הנתונים שברצונכם לבצע עליהם VLOOKUP, לחצו קליק ימני על לשונית הגיליון ובחרו "הצג קוד" מהתפריט. ראו צילום מסך:
     right click the sheet tab and select View Code
  2. בחלון "Microsoft Visual Basic for Applications" שנפתח, העתיקו את קוד ה-VBA שלמטה לחלון הקוד.
  3. קוד VBA1: VLOOKUP לקבלת עיצוב התא יחד עם ערך החיפוש
  4. Sub Worksheet_Change(ByVal Target As Range)
    'Updateby Extendoffice
        Dim I As Long
        Dim xKeys As Long
        Dim xDicStr As String
        On Error Resume Next
        Application.ScreenUpdating = False
        xKeys = UBound(xDic.Keys)
        If xKeys >= 0 Then
            For I = 0 To UBound(xDic.Keys)
                xDicStr = xDic.Items(I)
                If xDicStr <> "" Then
                    Range(xDic.Keys(I)).Interior.Color = _
                    Range(xDic.Items(I)).Interior.Color
                    Range(xDic.Keys(I)).Font.FontStyle = _
                    Range(xDic.Items(I)).Font.FontStyle
                    Range(xDic.Keys(I)).Font.Size = _
                    Range(xDic.Items(I)).Font.Size
                    Range(xDic.Keys(I)).Font.Color = _
                    Range(xDic.Items(I)).Font.Color
                    Range(xDic.Keys(I)).Font.Name = _
                    Range(xDic.Items(I)).Font.Name
                    Range(xDic.Keys(I)).Font.Underline = _
                    Range(xDic.Items(I)).Font.Underline
                Else
                    Range(xDic.Keys(I)).Interior.Color = xlNone
                End If
            Next
            Set xDic = Nothing
        End If
        Application.ScreenUpdating = True
    End Sub
    
  5. copy and paste the code1 into the module

שלב2: העתקו את קוד2 לחלון המודול

  1. עדיין בחלון "Microsoft Visual Basic for Applications", לחצו על "הוספה" > "מודול", והעתיקו את קוד VBA2 לחלון "מודול".
  2. קוד VBA2: VLOOKUP לקבלת עיצוב התא יחד עם ערך החיפוש
  3. Public xDic As New Dictionary
    Function LookupKeepFormat (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
        Dim xFindCell As Range
        On Error Resume Next
        Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
        If xFindCell Is Nothing Then
            LookupKeepFormat = ""
            xDic.Add Application.Caller.Address, ""
        Else
            LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
            xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
        End If
    End Function
    
  4. copy and paste the code2 into the module

שלב3: בחרו את האפשרות עבור VBAproject

  1. לאחר הכנסת הקודים לעיל, לחצו על "כלים" > "הפניות" בחלון "Microsoft Visual Basic for Applications". לאחר מכן סמנו את התיבה "Microsoft Scripting Runtime" בתיבת הדו-שיח "הפניות – VBAProject". ראו צילומי מסך:
    click Tools > References arrow right check the Microsoft Scripting Runtime checkbox in the dialog box
  2. לאחר מכן, לחצו על "אישור" לסגירת תיבת הדו-שיח, ושמרו וסגרו את חלון הקוד.

שלב4: הקלידו את הנוסחה לקבלת התוצאה

  1. כעת, חזרו לגליון העבודה, החילו את הנוסחה הבאה. לאחר מכן, גררו את ידית המילוי מטה לקבלת כל התוצאות יחד עם העיצוב שלהן. ראו צילום מסך:
    =LookupKeepFormat(E2,$A$1:$C$10,3)

    type a formula for getting the result

הערות: בנוסחה לעיל:

  • "E2" הוא הערך שתחפשו;
  • "A1:C10" הוא טווח הטבלה;
  • "3" הוא מספר העמודה בטבלה שממנה תרצו לשלוף את הערך התואם.

4.2 שמירת פורמט התאריך מערך שהוחזר ב-VLOOKUP

בעת שימוש בפונקציית VLOOKUP לחיפוש והחזרת ערך עם פורמט תאריך, התוצאה המוחזרת עשויה להופיע כמספר. כדי לשמור על פורמט התאריך בתוצאה, יש לעטוף את פונקציית VLOOKUP בתוך פונקציית TEXT.
vlookup keep date format

שלב1: החילו את הנוסחה הבאה

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

=TEXT(VLOOKUP(E2,$A$2:$C$9,3,FALSE),"mm/dd/yyyy")

תוצאה:

כל התאריכים התואמים הוחזרו כפי שמוצג בצילום המסך:
Apply and fill a formula

הערות: בנוסחה לעיל:

  • "E2" הוא ערך החיפוש;
  • "A2:C9" הוא טווח החיפוש;
  • "3" הוא מספר העמודה שממנה תרצו להחזיר את הערך;
  • "FALSE" מציין קבלת התאמה מדויקת;
  • "mm/dd/yyyy" הוא פורמט התאריך שתרצו לשמור.

4.3 החזרת הערת תא מ-VLOOKUP

האם אי פעם נזקקתם לשלוף גם את נתוני התא התואם וגם את ההערה המשויכת אליו באמצעות VLOOKUP ב-Excel, כפי שמוצג בצילום המסך? אם כן, הפונקציה המוגדרת על ידי המשתמש שלמטה תוכל לעזור לכם לבצע משימה זו.

שלב1: העתקו את הקוד למודול

  1. החזיקו את המקשים "ALT" + "F11" לפתיחת חלון "Microsoft Visual Basic for Applications".
  2. לחצו על "הוספה" > "מודול", ואז העתיקו והדביקו את הקוד הבא לחלון "מודול".
    קוד VBA: VLOOKUP והחזרת ערך תואם עם הערת תא:
    Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
    'Updateby Extendoffice
        Application.Volatile
        Dim xRet As Variant 'could be an error
        Dim xCell As Range
        xRet = Application.Match(LookVal, FTable.Columns(1), FType)
        If IsError(xRet) Then
            VlookupComment = "Not Found"
        Else
            Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
            VlookupComment = xCell.Value
            With Application.Caller
                If Not .Comment Is Nothing Then
                    .Comment.Delete
                End If
                If Not xCell.Comment Is Nothing Then
                    .AddComment xCell.Comment.Text
                End If
            End With
        End If
    End Function
  3. לאחר מכן שמרו וסגרו את חלון הקוד.

שלב2: הקלידו את הנוסחה לקבלת התוצאה

  1. כעת, הזינו את הנוסחה הבאה וגררו את ידית המילוי להעתקת נוסחה זו לתאים נוספים. היא תחזיר גם את הערכים התואמים וגם את ההערות בו-זמנית, ראו צילום מסך:
    =vlookupcomment(D2,$A$2:$B$9,2,FALSE)

    Type the formula to get the result with comment

הערות: בנוסחה לעיל:

  • "D2" הוא ערך החיפוש שברצונכם להחזיר את ערכו התואם;
  • "A2:B9" היא טבלת הנתונים שברצונכם להשתמש בה;
  • "2" הוא מספר העמודה שמכילה את הערך התואם שתרצו להחזיר;
  • "FALSE" מציין קבלת התאמה מדויקת.

4.4 VLOOKUP למספרים השמורים כמחרוזת טקסט

לדוגמה, יש לי טווח נתונים שבו מספר ה-ID בטבלה המקורית הוא בפורמט מספרי ומספר ה-ID בתאי החיפוש נשמר כמחרוזת טקסט, ייתכן שתיתקלו בשגיאת #N/A בעת שימוש בפונקציית VLOOKUP הרגילה. במקרה כזה, כדי לשלוף את המידע הנכון, ניתן לעטוף את הפונקציות TEXT ו-VALUE בתוך פונקציית VLOOKUP. להלן הנוסחה להשגת זאת:
VLOOKUP numbers stored as text

שלב1: החילו ומלאו את הנוסחה הבאה

החילו את הנוסחה הבאה לתא ריק, ולאחר מכן גררו את ידית המילוי מטה להעתקת נוסחה זו.

=IFERROR(VLOOKUP(VALUE(D2),$A$2:$B$8,2,0),VLOOKUP(TEXT(D2,0),$A$2:$B$8,2,0))

תוצאה:

כעת תקבלו את התוצאות הנכונות כפי שמוצג בצילום המסך:
Apply and fill a formula

הערות:

  • בנוסחה לעיל:
    • "D2" הוא ערך החיפוש שברצונכם להחזיר את ערכו התואם;
    • "A2:B8" היא טבלת הנתונים שברצונכם להשתמש בה;
    • "2" הוא מספר העמודה שמכילה את הערך התואם שתרצו להחזיר;
    • "0" מציין קבלת התאמה מדויקת.
  • נוסחה זו פועלת היטב גם אם אינכם בטוחים היכן יש לכם מספרים והיכן טקסט.

תוכן העניינים