=MOD(A2,B2) מחזירה את השארית אחרי חלוקה של A2 ב-B2: =MOD(17,5) היא 2, כי 5 נכנס ב-17 שלוש פעמים ונשארים 2. =ABS(A2) מחזירה את המספר בלי הסימן שלו, ולכן -42 הופך ל-42.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Number | Divisor | MOD | Times it fits |
| 2 | 17 | 5 | 2 | 3 |
| 3 | 20 | 5 | 0 | 4 |
| 4 | 7 | 2 | 1 | 3 |
| 5 | 100 | 7 | 2 | 14 |
| 6 | -3 | 2 | 1 | -1 |
| 7 | 3 | -2 | -1 | -1 |
עמודה D מציגה את החצי השני של החלוקה: QUOTIENT מחזירה את מספר הפעמים השלם שהמחלק נכנס, ולכן 17 הוא 3 פעמים 5 ועוד 2. שנו את B2 ל-0 ו-MOD מחזירה #DIV/0!, בדיוק כמו חלוקה באפס.
התחביר של MOD
=MOD(number, divisor)
MOD עובדת גם על מספרים עשרוניים: =MOD(7.5,2) היא 1.5, ו-=MOD(A2,1) מחזירה רק את החלק העשרוני של מספר, כמו 0.75 מתוך 3.75. בתאריכים עם שעות, =MOD(A2,1) שומרת את השעה ומורידה את התאריך.
MOD עם מספרים שליליים
שורות 6 ו-7 בגיליון שלמעלה מראות את הכלל של אקסל: לתוצאה יש את הסימן של המחלק. =MOD(-3,2) היא 1, לא -1, ו-=MOD(3,-2) היא -1. אקסל מחשב את MOD כ-number - divisor * INT(number / divisor), ו-INT תמיד מעגלת למטה.
כאן גיליון אלקטרוני וקוד לא מסכימים. ב-JavaScript, Java, C ו-C# -3 % 2 הוא -1; ב-Python -3 % 2 הוא 1, כמו באקסל. Google Sheets הולכת אחרי אקסל. אם אתם צריכים במקום זאת את הסימן של המספר, השתמשו ב-=A2-B2*TRUNC(A2/B2).
זוגי או אי-זוגי, וכל שורה שנייה
מספר הוא זוגי כש-MOD(number,2) היא 0. זה נותן תווית Even או Odd, ועם ROW זה נותן כלל שצובע כל שורה שנייה. באקסל יש גם ISEVEN ו-ISODD, שמחזירות TRUE או FALSE ישירות.
| A | B | C | |
|---|---|---|---|
| 1 | Order | Qty | Even or odd |
| 2 | 1001 | 4 | Even |
| 3 | 1002 | 7 | Odd |
| 4 | 1003 | 10 | Even |
| 5 | 1004 | 3 | Odd |
| 6 | 1005 | 8 | Even |
| 7 | 1006 | 5 | Odd |
כלל העיצוב המותנה =MOD(ROW($A2),2)=0 מדגיש את שורות 2, 4 ו-6, מספרי השורות הזוגיים. באקסל זה בית > עיצוב מותנה > כלל חדש > "השתמש בנוסחה כדי לקבוע אילו תאים לעצב", וגם =MOD(ROW(),2)=0 הקצרה עובדת שם. שנו את ה-2 ל-3 כדי לצבוע כל שורה שלישית.
כל שורה n: סכום של כל ערך שלישי
MOD(ROW()-ROW(first),n)=0 היא TRUE בשורה הראשונה של הטווח ואחר כך בכל שורה n שאחריה. בתוך SUMPRODUCT היא בוחרת כל ערך שלישי מתוך עמודה, למשל את החודש האחרון של כל רבעון.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Sales | Every 3rd | ||
| 2 | Jan | 120 | 310 | ||
| 3 | Feb | 135 | |||
| 4 | Mar | 150 | |||
| 5 | Apr | 110 | |||
| 6 | May | 125 | |||
| 7 | Jun | 160 |
ההיסטים של השורות הם 0 עד 5, ו-=2 משאיר את היסטים 2 ו-5: מרץ ויוני, 150 ועוד 160. שנו את =2 ל-=0 כדי לקחת במקום זאת את ינואר ואת אפריל.
המרת דקות לשעות ודקות
MOD וחלוקה שלמה מפרקות סכום ליחידות: שעות ודקות שנשארו, שבועות וימים שנשארו, קופסאות ופריטים בודדים.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Minutes | Hours | Minutes left | Label |
| 2 | 135 | 2 | 15 | 2 h 15 min |
| 3 | 59 | 0 | 59 | 0 h 59 min |
| 4 | 240 | 4 | 0 | 4 h 0 min |
| 5 | 1000 | 16 | 40 | 16 h 40 min |
1000 דקות הן 16 שעות ו-40 דקות. לערכי זמן של ממש (8:30, 17:45) ולמשמרות שעוברות את חצות, =MOD(end-start,1) היא הנוסחה המקובלת; ראו חישובי זמן.
ABS: ההפרש בין שני מספרים
=ABS(number) מוריד את סימן המינוס. השימוש העיקרי שלה הוא הגודל של הפרש כשלא משנה לכם איזה ערך גדול יותר: כמה רחוקה הייתה כל תחזית מהתוצאה בפועל, או האם מדידה נמצאת בתוך הסבולת.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Week | Forecast | Actual | Off by | Within 10? |
| 2 | W1 | 120 | 112 | 8 | TRUE |
| 3 | W2 | 95 | 109 | 14 | FALSE |
| 4 | W3 | 140 | 138 | 2 | TRUE |
| 5 | W4 | 80 | 93 | 13 | FALSE |
| 6 | W5 | 110 | 104 | 6 | TRUE |
B2-C2 הוא 8 עבור W1 ו--14 עבור W2; ABS הופכת את שניהם למרחק. כדי לחבר את המרחקים, =SUMPRODUCT(ABS(B2:B6-C2:C6)) עובדת בכל גרסה של אקסל; כאן היא נותנת 43, הסכום של עמודה D. חלוקה של זה במספר הערכים נותנת את השגיאה המוחלטת הממוצעת.
נסו בעצמכם: MOD ו-ABS
| A | B | C | |
|---|---|---|---|
| 1 | Eggs | Per carton | Left over |
| 2 | 350 | 12 |
תורכם: ב-C2, חשבו כמה ביצים נשארות אחרי אריזת הביצים שב-A2 בתבניות מלאות בגודל שב-B2.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | City | Morning | Evening | Change |
| 2 | Oslo | 14 | 6 |
תורכם: ב-D2, הציגו בכמה מעלות השתנתה הטמפרטורה בין B2 ל-C2, כמספר חיובי, לא משנה איזו קריאה גבוהה יותר.
MOD מול QUOTIENT מול INT
| מה רוצים | נוסחה | 17 ו-5 נותנים | -17 ו-5 נותנים |
|---|---|---|---|
| שארית | =MOD(A2,B2) | 2 | 3 |
| מספר הפעמים השלם, לכיוון אפס | =QUOTIENT(A2,B2) | 3 | -3 |
| מספר הפעמים השלם, מעוגל למטה | =INT(A2/B2) | 3 | -4 |
| חלוקה מדויקת | =A2/B2 | 3.4 | -3.4 |
למספרים חיוביים, QUOTIENT ו-INT(A2/B2) מסכימות ו-B2*INT(A2/B2)+MOD(A2,B2) תמיד בונה מחדש את המספר. עם מספר שלילי רק הזוג של INT מסתכם נכון: -4 כפול 5 ועוד 3 הוא -17. ערבוב של QUOTIENT עם MOD על מספרים שליליים הוא הסיבה הרגילה לטעות של אחד בלוח זמנים או בחלוקה.
שאלות נפוצות
מה MOD עושה באקסל?
היא מחזירה את השארית של חלוקה: =MOD(17,5) היא 2, כי 5 נכנס ב-17 שלוש פעמים ונשארים 2. אם המספר מתחלק בלי שארית, MOD מחזירה 0.
איך בודקים אם מספר זוגי באקסל?
השתמשו ב-=MOD(A2,2)=0, שהיא TRUE למספרים זוגיים, או ב-=ISEVEN(A2). בתווית: =IF(MOD(A2,2)=0,"Even","Odd").
למה MOD מחזירה מספר חיובי לערך שלילי?
MOD של אקסל לוקחת את הסימן של המחלק: =MOD(-3,2) היא 1 ו-=MOD(3,-2) היא -1. בשפות תכנות רבות -3 % 2 נותן -1, ולכן התוצאות יכולות להיות שונות מקוד.
איך מקבלים ערך מוחלט באקסל?
השתמשו ב-=ABS(A2): -42 הופך ל-42 ו-42 נשאר 42. כדי לקבל את הגודל של הפרש בלי הסימן שלו, השתמשו ב-=ABS(B2-C2).
איך מסכמים ערכים מוחלטים באקסל?
השתמשו ב-=SUMPRODUCT(ABS(A2:A7)), שעובדת בכל גרסה. ב-Excel 365 וב-2021 גם =SUM(ABS(A2:A7)) עובדת.