מציאת מספרים שמרכיבים תוצאה

oren1012

New member
מציאת מספרים שמרכיבים תוצאה

ההסבר בגוף הקובץ

תודה רבה
 

oren1012

New member
SOLVER

השתמשתי ב SOLVER וזה עובד מעולה.
היה נחמד רק אם היה איזה חלון טקסט (או אפיתו סתם תא) בוא אוכל להכניס את מספר היעד וזה "יזרוק" לי את הנתון ל SOLVER ויפעיל אותו - כך שכל העסק יהיה נגיד יותר וחסוך לי (ולמשתמשים פחות מנוסים) פתיחה של ה SOLVER כל פעם
אבל כאמור - זה מספיק טוב ועושה את העבודה
תודה רבה!
 

ziv98

Member
הקלט מאקרו להפעלת ה - SOLVER

תקבל משהו דומה לזה:
קוד:
Sub Macro1()
    SolverOk SetCell:="$C$28", MaxMinVal:=3, ValueOf:=[D1], ByChange:="$B$20:$B$26", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
End Sub
את הערך המבוקש שיניתי ל - D1.
את המאקרו הצמד ללחצן.
 

oren1012

New member
מקבל שגיאה

מצ"ב קובץ- משהו לא עובד. אולי האקסל שלי לא תומך בזה ? (אקסל 2010 עם תוסף solver)
אודה מאוד לפיתרון- כי על פניו זה בדיוק מה שאני מחפש. תודה
 

oren1012

New member
עשיתי סדר בקובץ

השגיאה במקרו היא בהפניה לתא ( E19)
אם אני אחליף את ההפניה למספר (לדוגמא ארשום 22 במקום E19) אז המקרו יעבוד כמו שצריך..
אולי אני לא יודע לעשות הפניה לתא במקרו למרות שהעתקתי את הדרח מחבר הפורום היקר.

אודה לפיתרון
 

ziv98

Member
תיקון לקוד

קוד:
Sub Macro1()
    SolverOk SetCell:="$B$29", MaxMinVal:=3, ValueOf:=Range("$E$19").Value, ByChange:="$C$20:$C$26", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
End Sub
 

u333

New member
ואני עדיין שואל.......

אולי אלו לקוחות: משה + אלי + יפה + נעים + חיים
או אולי: משה + אלי + חיים + ציק
או אולי: משה + נעים + דיקי
או אולי: נעים + חיים + ציק
או אולי: סוף סוף ---> חיים + ציק
וככל שסה"כ יהיה יותר גדול ומס. האנשים יגדל - כן תרבינה האפשרויות !
 

ziv98

Member
התשובה בקובץ הראשון

יש יותר מאפשרות אחת - תחזיר אחת
 

ziv98

Member
להשלמת התמונה

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

לצורך הדוגמה שלפתי עכשיו מבסיס הנתונים שלי הזמנות לחודש, כך שאני יכול לסכום אותם תחת הגיון כלשהו, ולחפש מי מתאים לסכום מסויים:
נשלפו 187,107 מספרים.
סיכמתי לפי ספק - 2822 ספקים = סכומים.
מתוך 2822 סכומים - 2747 סכומים ייחודיים = 97%.

3% הנותרים - בד"כ שתראה את השורות שסוכמו, ואם אתה מכיר את הנתונים, תבין מיד שהם לא מתחברים, ותצטרך לטפל בהם ידנית (ברור שמדובר רק ב - 1.5% כיוון שכל סכום שתזהה - מוריד כפילות).

10 מתוך הסכומים הכפולים - אפסים. 13% מ - 75 הסכומים הכפולים.
 

oren1012

New member
הערה לגבי ה solver

בבדיקה נוספת על נתונים "אמיתיים" שברשותי ( ולא רק דוגמא קטנה)
אני מקבל הערה של too many variable cells
כך שנראה שזה לא יכול לתת לי מענה.

אנסה להתקדם עם הקוד של מיכאל..
 

u333

New member
לדעתי השאלה לא מנוסחת ברור עד הסוף....

  • האם הכוונה להשתמש אך ורק בסימן "+" ?
  • האם מותר להשתמש בכל מספר רק פעם אחת ?
כי, אם אין את המגבלות הנ"ל - אפשר גם רק מן הספרה "1" - לחבר 23 פעמים או 1*23
 

oren1012

New member
תשובה

רק +
ואי אפשר לחזור על אותו מספר כמה פעמים ( אלא אם כן הוא מופיע כמה פעמים ברשימה)

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

תודה
 

u333

New member
אז ככה....

הכל טוב ויפה - אך אני לא מסכים עם הקביעה שלך:
"ברור שבמקרים מסויימים יכולים להיות מספר אופציות (בפועל רוב הסיכויים שזה לא יקרה)."
אפילו במקרה פשוט כמו זה שהצגת יש 4 קומבינציות שונות !!
 

מיכאל אבידן

Member
מנהל
כדי להציג את כתובות התאים שסכומם שווה לערך שבתא B1. . .‏


וכוונתי, לכל האפשרויות הקיימות - נסה את המוצע בתמונה שלהלן:

 

u333

New member
תרשה לי להתפעל - עובד נהדר


וכדרכנו בקודש - בשורה הראשונה של הקוד השני, יש לדעתי 3 זוגות סוגריים מיותרים והיא יכולה להראות כך:
If FR < LR And SubTot < Paid And Num < Stoper Then
חוץ מזה - לבקורת - ניסיתי משהו "קצת" יותר מסובך מהשאלה המקורית - וזה עובד.
הוספתי עמודת בקורת - D - ליתר בטחון.
כל הכבוד.


 
למעלה