השוואה בין רשימות
אחת המשימות הנפוצות באקסל היא השוואה בין רשימות, כדי לדעת אילו ערכים נמצאים בשתיהן, ואילו רק באחת מהן.
אקסל מספקת לנו מגוון דרכים לביצוע המשימה.
אבל קודם כל – מה יש לנו?
שתי רשימות של שמות, כאשר חלק מהשמות משותפים לשתי הרשימות, וחלק לא.
אנחנו מעוניינים לקבל חיווי האם שמות מהרשימה הראשונה, מופיעים גם ברשימה השנייה, או לא:
עיצוב מותנה
הדרך הפשוטה ביותר היא על ידי שימוש בעיצוב מותנה.
נסמן את שתי הרשימות, מכיוון שהן לא רציפות, נסמן את הראשונה, נלחץ על המקש Ctrl במקלדת, ונסמן את השנייה. נבחר ב'עיצוב מותנה' > 'ערכים כפולים'
וזו התוצאה שהתקבלה:
השוואה בין רשימות באמצעות פונקציות:
VLOOKUP/XLOOKUP
הפונקציות הטבעיות לבדיקת כפילויות.
כל מה שצריך זה להפעיל את הפונקציה על טבלה אחת כדי למצוא את הכפילויות בטבלה השנייה, ובפעם השנייה להפעיל את הפונקציה על הטבלה השנייה, כדי למצוא את הכפילויות בראשונה.
בחרתי להציג את השימוש באמצעות XLOOKUP, שהיא אינטואיטיבית יותר מאשר VLOOKUP:
ה XLOOKUP הימני בודק האם השמות שנמצאים ברשימה א' קיימים גם ברשימה ב', ואם הם לא קיימים, מוחזר הערך #N/A.
ניתן כמובן להשתמש בארגומנט הרביעי 'If not found' ולקבוע מה יהיה הערך שיוחזר, אולם בעיניי הודעת השגיאה בולטת הרבה יותר מאשר טקסט שיסתתר בין נתוני טקסט אחרים.
באותו האופן אבדוק האם הערכים ברשימה ב' קיימים גם ברשימה א'.
שימו לב, מכיוון שמדובר באקסל 365, עבור נתון החיפוש אפשר לסמן את כל הרשימה, ולא רק תא בודד:
COUNTIF/COUNTIFS
אחת הפונקציות הפשוטות, שיכולה לשמש גם לאיתור רשומות כפולות, וגם כאן, אפשר מראש להפנות לעמודה שלמה, ואין צורך לבחור בתא בודד:
התוצאה היא מספר הפעמים שהערך מופיע.
אם קיבלנו 0 – המשמעות היא שהערך לא מופיע בטבלה השנייה. אם קיבלנו 1 – זאת אומרת שהערך שחיפשנו מופיע פעם אחת בטבלה השנייה.
MATCH
מכיוון שהפונקציה MATCH מחזירה מיקום של נתון במערך, ניתן להשתמש בה כדי לבדוק היכן נמצא ערך מסוים בטבלה אחרת, כך:
עבור כל שם שיש לידו מספר, המשמעות היא שהוא קיים גם ברשימה השנייה. שמות שלא קיימים, מסומנים ב #N/A
(ואם יש לכם אקסל 365, תוכלו להשתמש גם ב XMATCH החדישה)
הערה:
אם תרצו חיווי של 'כן' או 'לא', תוכלו להקיף את הפונקציות הרלוונטיות ב-IF, ולהשתמש ב IFERROR במידת הצורך.
השוואה בין רשימות באמצעות Power Query
באמצעות Power Query נוכל ליצור השוואות מגוונות יותר.
אבל לפני שנראה מהן האפשרויות, קראו את המאמר הזה, שמסביר על מיזוג:
כדי לבדוק אילו שמות מהרשימה הראשונה, מופיעים גם ברשימה השנייה, נבחר בצירוף חיצוני שמאלי:
וזו התוצאה שהתקבלה:
כדי לבדוק אילו שמות מהרשימה השנייה מופיעים גם ברשימה הראשונה,
נבחר בצירוף חיצוני ימני (או שפשוט נהפוך את סדר הטבלאות בחלונית המיזוג ונבחר בצירוף חיצוני שמאלי, כמו קודם):
(שימו לב שבגרסת האקסל הנוכחית ישנה טעות בתרגום, והאפשרות השנייה היא צירוף חיצוני ימני, ולא שמאלי, כפי שכתוב)
אם נבחר ב'צירוף חיצוני מלא' נקבל את הטבלה הבאה, שמציגה את המידע בו זמנית עבור שתי הרשימות:
כדי לבדוק מהן הרשימות התואמות בין שתי הטבלאות, נבחר ב'צירוף פנימי':
כדי לדעת אילו שמות מהעמודה הראשונה אינם קיימים בשנייה, נבחר בצירוף אנטי שמאלי:
וכדי לדעת אילו שמות מהעמודה השנייה, אינם קיימים בראשונה, נבחר בצירוף אנטי ימני, וזו התוצאה שנקבל:
אני מזכירה לכם שאפשר גם לבצע התאמה חלקית, שבה נקבע את סף הדימיון באחוזים, אולם חייבים לבדוק בשבע עיניים את התוצאות, מכיוון שהן יכולות להיות שגויות!