כדי להשוות שתי עמודות שורה אחר שורה, הקלידו =B2=C2 ליד השורה הראשונה ומלאו למטה: TRUE פירושו ששני התאים תואמים, FALSE פירושו שהם שונים. כדי למצוא את הערכים של עמודה אחת שמופיעים במקום כלשהו בעמודה אחרת, בכל סדר, השתמשו במקום זה ב-=COUNTIF($B$2:$B$8,A2)>0.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Old | New | Same? | Status |
| 2 | Apple | $1.20 | $1.20 | TRUE | Same |
| 3 | Pear | $1.50 | $1.60 | FALSE | Changed |
| 4 | Carrot | $0.80 | $0.80 | TRUE | Same |
| 5 | Bread | $2.40 | $2.20 | FALSE | Changed |
| 6 | Milk | $1.10 | $1.10 | TRUE | Same |
| 7 | Cheese | $4.50 | $4.90 | FALSE | Changed |
D3, D5 ו-D7 הם FALSE, וכלל העיצוב המותנה =$B2<>$C2 צובע את שלוש השורות האלה. עמודה E מציגה את אותה בדיקה במילים במקום TRUE ו-FALSE. שנו את C3 ל-1.5 ושורה 3 הופכת ל-Same.
השוואת שתי עמודות עם IF
=B2=C2 מחזירה TRUE או FALSE. עטפו אותה ב-IF כדי לבחור את המילים: =IF(B2=C2,"Same","Changed"), כמו בעמודה E שלמעלה. כדי להשאיר שורות תואמות ריקות ולסמן רק את ההבדלים, השתמשו ב-=IF(B2<>C2,"Changed",""). כדי להראות בכמה מספר השתנה, חסרו במקום להשוות: =C2-B2.
כדי לספור את ההבדלים בלי עמודת עזר, השוו את שני הטווחים בתוך SUMPRODUCT: =SUMPRODUCT(--(B2:B7<>C2:C7)) מחזירה 3 בגיליון שלמעלה.
בלי נוסחה: בחרו את B2:C7 כש-B2 הוא התא הפעיל, עברו ל-בית > חפש ובחר > מעבר מיוחד, בחרו הבדלים בשורות ולחצו על אישור (ב-Windows, Ctrl+\ עושה את אותו הדבר). אקסל בוחר את C3, C5 ו-C7, התאים ששונים מעמודה B בשורה שלהם; תנו להם צבע מילוי כדי לסמן אותם.
השוואה רגישה לאותיות עם EXACT
ההשוואה = מתעלמת מאותיות גדולות וקטנות: ab12 שווה ל-AB12. כשגודל האותיות חשוב (קודי מוצר, סיסמאות, מזהים), השתמשו ב-EXACT(A2,B2), שהיא TRUE רק כששני הטקסטים זהים תו אחר תו.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Entered | Equal? | EXACT |
| 2 | AB12 | AB12 | TRUE | TRUE |
| 3 | CD34 | cd34 | TRUE | FALSE |
| 4 | EF56 | EF56 | TRUE | TRUE |
| 5 | GH78 | Gh78 | TRUE | FALSE |
עמודה C, ההשוואה עם =, אומרת שכל הארבעה תואמים. EXACT אומרת ששורות 3 ו-5 שונות, כי cd34 ו-Gh78 משתמשים באותיות קטנות.
מציאת ערכים בעמודה אחת שחסרים בשנייה
כששתי הרשימות לא באותו סדר, השוו כל ערך לכל העמודה השנייה. COUNTIF($B$2:$B$8,A2) סופרת כמה פעמים A2 מופיע ב-B2:B8, ולכן >0 פירושו "נמצא" ו-=0 פירושו "חסר". סימני ה-$ משאירים את הטווח שבו מחפשים קבוע כשהנוסחה ממולאת למטה.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | In February? | With MATCH |
| 2 | Ana | Dan | TRUE | TRUE |
| 3 | Ben | Fay | TRUE | TRUE |
| 4 | Cara | Ana | FALSE | FALSE |
| 5 | Dan | Gus | TRUE | TRUE |
| 6 | Eve | Hal | FALSE | FALSE |
| 7 | Fay | Ivy | TRUE | TRUE |
| 8 | Gus | Ben | TRUE | TRUE |
Cara ו-Eve הם FALSE: הם קנו בינואר ולא בפברואר. MATCH נותנת את אותה תשובה בדרך אחרת: MATCH(A2,$B$2:$B$8,0) מחזירה את המיקום של A2 בעמודה B, או #N/A כשהוא לא שם, ו-ISNUMBER הופכת את זה ל-TRUE או FALSE. כדי לבדוק בכיוון השני (לקוחות חדשים בפברואר), שימו את אותה נוסחה ליד עמודה B עם הטווחים מוחלפים: =COUNTIF($A$2:$A$8,B2)>0.
השוואה בין שתי רשימות והחזרת ערך תואם
לעתים קרובות השאלה היא לא רק "האם זה שם" אלא "האם הערך שלידו תואם". כאן משווים חשבוניות לרשימת תשלומים בסדר אחר: XLOOKUP מוצאת כל חשבונית בתשלומים, מחזירה כמה שולם, ועמודה D משווה את זה לסכום החשבונית.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Amount | Paid | Match? | Payment for | Paid | |
| 2 | INV-101 | 120 | 120 | TRUE | INV-103 | 240 | |
| 3 | INV-102 | 85 | Not paid | FALSE | INV-101 | 120 | |
| 4 | INV-103 | 240 | 240 | TRUE | INV-105 | 140 | |
| 5 | INV-104 | 60 | 60 | TRUE | INV-106 | 95 | |
| 6 | INV-105 | 150 | 140 | FALSE | INV-104 | 60 | |
| 7 | INV-106 | 95 | 95 | TRUE |
ל-INV-102 אין תשלום, ולכן C3 אומר Not paid. על INV-105 שולמו 140 במקום 150, ולכן גם D6 הוא FALSE. הארגומנט האחרון של XLOOKUP, "Not paid", מחליף את ה-#N/A שערך חסר היה נותן. XLOOKUP דורשת Excel 2021 או Microsoft 365; ב-Excel 2019 השתמשו ב-=IFERROR(VLOOKUP(A2,$F$2:$G$6,2,FALSE),"Not paid"). בעמוד על XLOOKUP יש את שאר הארגומנטים.
הצגת הערכים שחסרים בעמודה השנייה
במקום עמודה של TRUE/FALSE, FILTER יכולה להחזיר את הערכים החסרים כרשימה. COUNTIF(B2:B8,A2:A8) עם טווח כארגומנט שני סופרת כל ערך של A בבת אחת, ו-FILTER משאירה את אלה שהספירה שלהם היא 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | Not in February | |
| 2 | Ana | Dan | ||
| 3 | Ben | Fay | ||
| 4 | Cara | Ana | ||
| 5 | Dan | Gus | ||
| 6 | Eve | Hal | ||
| 7 | Fay | Ivy | ||
| 8 | Gus | Ben |
תורכם: הציגו ב-D2 את לקוחות ינואר שלא נמצאים ברשימה של פברואר.
התשובה שופכת את Cara ו-Eve. גם =FILTER(A2:A8,ISNA(MATCH(A2:A8,B2:B8,0))) עובדת. אם כל הלקוחות חזרו, FILTER מחזירה #CALC!; הוסיפו ארגומנט שלישי למקרה הזה: =FILTER(A2:A8,COUNTIF(B2:B8,A2:A8)=0,"None"). FILTER דורשת Excel 2021 או Microsoft 365. ראו FILTER בשביל עוד תנאים.
הדגשת ההבדלים בין שתי עמודות
הנוסחאות שלמעלה עובדות גם ככללים של עיצוב מותנה. בחרו את הרשימה הראשונה, עברו ל-בית > עיצוב מותנה > כלל חדש > השתמש בנוסחה כדי לקבוע אילו תאים לעצב, והזינו את הנוסחה בשביל התא הראשון שלה. כאן A2:A8 מקבל =COUNTIF($B$2:$B$8,A2)=0 ו-B2:B8 מקבל =COUNTIF($A$2:$A$8,B2)=0: כל שם שנמצא רק באחת הרשימות נצבע.
| A | B | |
|---|---|---|
| 1 | January | February |
| 2 | Ana | Dan |
| 3 | Ben | Fay |
| 4 | Cara | Ana |
| 5 | Dan | Gus |
| 6 | Eve | Hal |
| 7 | Fay | Ivy |
| 8 | Gus | Ben |
Cara ו-Eve צבועים בינואר, Hal ו-Ivy בפברואר. בשתי עמודות שאמורות להתאים שורה אחר שורה, הכלל הוא =$A2<>$B2 על שתי העמודות, כמו בגיליון הראשון בעמוד הזה. כדי לצבוע במקום זה את השמות שנמצאים בשתי הרשימות, השתמשו ב->0, כמו בעמוד על הדגשת כפילויות.
למה ערכים זהים מוצגים כשונים
הסיבה הנפוצה ביותר היא רווח שאי אפשר לראות: Ana עם רווח בסוף לא שווה ל-Ana. נתונים שהודבקו ממערכת אחרת או מדף אינטרנט נושאים אותם לעתים קרובות. השוו במקום זה את הערכים אחרי TRIM.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Other list | Equal? | Trimmed |
| 2 | Ana | Ana | FALSE | TRUE |
| 3 | Ben | Ben | TRUE | TRUE |
| 4 | Cara | Cara | FALSE | TRUE |
| 5 | Dan | Dan | TRUE | TRUE |
עמודה C אומרת ששורות 2 ו-4 שונות; עמודה D, אחרי ש-TRIM מסירה את הרווחים בשני הקצוות, אומרת שכל הארבעה תואמים. הסיבה הרגילה האחרת היא מספר שמאוחסן כטקסט בעמודה אחת ומספר אמיתי בשנייה: 101 ו-'101 נראים אותו דבר, אבל ההשוואה = של אקסל מחזירה FALSE, ו-MATCH, VLOOKUP ו-XLOOKUP לא מוצאות אחד בתוך השני. COUNTIF היא היוצאת מן הכלל: היא קוראת טקסט שנראה כמו מספר כאותו מספר, ולכן היא סופרת אותם כשווים. משולש ירוק בפינת התא מסמן את הגרסה שהיא טקסט; המירו אותה עם =VALUE(A2) או =A2*1, או בחרו את התאים ובחרו המר למספר מסמל האזהרה.
שאלות נפוצות
איך משווים בין שתי עמודות באקסל כדי למצוא התאמות?
שורה אחר שורה: הקלידו =A2=B2 ב-C2 ומלאו למטה; TRUE פירושו ששני התאים תואמים. כדי לבדוק אם כל ערך של A מופיע במקום כלשהו ב-B, השתמשו ב-=COUNTIF($B$2:$B$8,A2)>0.
איך משווים שתי עמודות ומחזירים ערך מהשנייה?
חפשו את הערך: =XLOOKUP(A2,$F$2:$F$7,$G$2:$G$7,"Not found") מחזירה את הערך התואם מ-G, או Not found. ב-Excel 2019 ובגרסאות ישנות יותר השתמשו ב-=IFERROR(VLOOKUP(A2,$F$2:$G$7,2,FALSE),"Not found").
האם השוואה של שני תאים באקסל רגישה לאותיות גדולות וקטנות?
לא. =A2=B2 מתייחסת ל-abc ול-ABC כשווים. להשוואה רגישה לאותיות השתמשו ב-=EXACT(A2,B2), שהיא TRUE רק כשכל תו תואם, כולל גודל האותיות.
איך מציגים את הערכים שנמצאים בעמודה אחת ולא בשנייה?
ב-Excel 365 וב-2021, =FILTER(A2:A8,COUNTIF(B2:B8,A2:A8)=0) שופכת כל ערך של A2:A8 שלא מופיע ב-B2:B8.
למה אקסל אומר ששני ערכים זהים שונים?
לרוב באחד מהם יש רווח מיותר או שהוא מספר שמאוחסן כטקסט. השוו =TRIM(A2)=TRIM(B2) כדי לשלול רווחים, והמירו מספרים שהם טקסט עם =VALUE(A2) או =A2*1.