נוסחת SUMIF עובדת מוזר
-
@ek0583232948 איך אומר הפתגם? זה לא באג, זה פיצ'ר...
זו למעשה התנהגות תקינה של SUMIF.
מדוע, אתה שואל?
ובכן בוא נראה בהגדרה של SUMIF לפי מייקרוסופט:Sum_range should be the same size and shape as range. If it isn't, performance may suffer, and the formula will sum a range of cells that starts with the first cell in sum_range but has the same dimensions as range.
תרגום:
כאשר הפרמטר השלישיsum_range
(טווח היעד לסיכום) שונה בגודלו או בצורתו מהטווח שבפרמטר הראשוןrange
, הנוסחא תחשב את סכום הטווח החל מהתא הראשון בטווח הערכים אשר יש לו אותם מימדים כמו בטווח.בדוגמא שהבאת, אתה מספק בפרמטר הראשון טווח של 4 תאים, אבל בטווח הערכים לסיכום אתה מבקש רק תא בודד. לכן הנוסחא מגדילה את הטווח של הסכום ל-4 תאים, מה שנותן תוצאות לא צפויות.
-
@OdedDvir אבל תראה שוב בקובץ כל נוסחה מקבלת כאילו טווח חדש גם בהתחלה שלו למרות שבנוסחה כולם אותו טווח ומה שישיניתי זה רק הערך לחיפוש
זאת אומרת שבעוד עמודה A אני מקבל תוצאה על חישוב של C1 , בעמודה B אני מקבל תוצאה של D1
זה נראה כמו שאקסל אומר , את התוצאה הזו כבר נתתי , בא ניתן את התוצאה הבאה -
@ek0583232948 הנה הדוגמא שהבאת:
- הטווח לחיפוש
range
הוא$A$1:$D$1
, והמימדים שלו הם 4x1 תאים. - הקריטריון לחיפוש
criteria
הוא ערך התאA1
, דהיינו 1. - הטווח לסיכום
sum_range
הוא$C$1
, והמימדים שלו הם תא בודד, כלומר 1x1 תאים.
הפונקציה תחפש בטווח את הערך 1, ותגלה שהוא נמצא כבר בתא הראשון
A1
, נכון?
בעולם מתוקן (שבו המימדים זהים) היא תיגש לטווח לסיכום ותוסיף את הערך של התא הראשון שם לסכום.
אבל,
בגלל שהמימדים של הטווח לסיכום אינם זהים למימדים של הטווח לחיפוש, כי חסרים שם שלושה תאים, הנוסחא מוכרחת להשלים את התאים החסרים בטווח, ולכן היא תוסיף מעצמה לטווח הסיכום$C$1
את שלושת התאים הבאים כלומר גם את התאיםD1,E1,F1
.
שים לב שהטווח לחיפוש השתנה שלא בידיעתך, כעת יש לה טווח לחיפוש של 4 תאים, שהואC1:F1
, והיא תמשיך כרגיל, ותוסיף לסכום את הערך התא הראשון בטווח החדש (כלומר ערך התאC1
)הנה דוגמא שממחישה עוד יותר את התהליך:
שיניתי את הנוסחא בתא
A3
כך שהערך לחיפוש הוא 4. הטווחים לחיפוש נשאר כמו קודםA1:D1
(צבוע בצהוב). איפה אקסל תמצא את הערך המבוקש 4? במקום הרביעי בטווח.
אבל כיוון שהטווח לסיכום הוא רק תא 1, אקסל מוסיפה לו את 3 התאים שאחריו (צבוע בטורקיז), ואז מחזירה את המקום הרביעי שם, דהיינו את התאF1
. - הטווח לחיפוש
-
@OdedDvir תודה רבה ,הסבר ממש ברור
האם יש אפשרות לשנות את זה?
מה שאני צריך זה שאני מפעיל את הנוסחה בחיפוש בטווח של כמה עמודות ולקבל תוצאה בטווח סיכום מעמודה אחת בלבד, שמקבילה בשורות אל טווח החיפוש, (מסומן בצהוב) הקריטריון נמצא בגליון 1 והטווחים ב2
1651140625170-sumif-עובד-מוזר.xlsx -
@ek0583232948 האמת היא שלא ירדתי לסוף דעתך, ואין לי חשק לשבור את הראש ולנסות להבין את המטרה הסופית, ובסוף לטעות לא בכיוון... אם תתן לי דוגמא לקלט אפשרי ולפלט שאתה מחפש, רצוי דווקא לא בקובץ אקסל, אלא במילים\צילומי מסך בפוסט עצמו - אנסה לעזור לך בשמחה.
-
@OdedDvir אסביר בדוגמא,
יש לי רשימת תלמידים עם מספרי טלפון של ההורים
בנוסף יש לי רשימה של ההורים עם הטלפונים שלהם, בצורה של 3 עמודות לטלפונים מרובים
ברשימה של ההורים יש סטטוס מסוים לכל הורה (לדוגמא, סכום חוב)
אני רוצה להחזיר לפי מספר הטלפון שרשום על התלמיד, את הסטטוס של ההורה , לכן ניסיתי את SUMIF כדי שיחפש את הטלפון שרשום אצל התלמיד בכל הטווח של הטלפונים של ההורים (שבנוי בצורה של 3 עמודות) ויחזיר לי את סכום החוב
הבעיה שלי שכמו שהסברת לי, כל טלפון שימצא החל מעמודה 2 בטווח של הטלפונים יוחזר לי תוצאה מעמודה שנמצאת אחרי העמודה של הטווח לסיכום (החוב)
מה שאני צריך זה שאקסל יחזיר לי תמיד תוצאה מאותה עמודה (חוב) לפי היחס של השורה בה הוא מצא את הערך לחיפוש (הטלפון שרשום אצל התלמיד)
-
@ek0583232948 הפתרון שלך מהיר ומלוכלך, לכאורה הדרך הסטנדרטית היא על ידי שילוב של
INDEX
ו-MATCH
, אבל לפעמים הגישה היא: היי, אם זה עובד - למה לא? -
@ek0583232948 אמר בנוסחת SUMIF עובדת מוזר:
@OdedDvir
למיטב הבנתי INDEX ו-MATCH לא יכול לחפש בכמה עמודות ביחד
כי הMATCH לא יכול להחזיר מספר של מיקום בטווח שהוא יותר מעמודה אחת או שורה אחתשילוב של IFNA INDEX*3 +MATCH
-
@אפר-שריפה
יפה מאד -
@ek0583232948 אמר בנוסחת SUMIF עובדת מוזר:
מה שאני צריך זה שאקסל יחזיר לי תמיד תוצאה מאותה עמודה (חוב) לפי היחס של השורה בה הוא מצא את הערך לחיפוש (הטלפון שרשום אצל התלמיד)
אפשר באמצעות sumif +sumif
מצו"ב דוגמה
1651205779657-1651140625170-sumif-עובד-מוזר.xlsx