יפה ששאלת! וטוב שכך...
אני שמח בכל פעם ששואלים על ההבנה והלוגיקה של הפיתרון.
אסביר יותר על התהליך כדלקמן:
טוב.אז הנה זה שוב קורה לנו...הקובץ במקור הוא של שיטס.וכאשר מעלים את הקובץ לאקסל נוספים באופן אוטומט כל מיני "עצמים בלתי מזוהים" אשר לא להם היתה כוונת המשורר...הסברתי זאת בעבר פעמים רבות במסגרת פורום זה.
בצילום מסך המצורף מפורטות הפונקציות בצורתן המקורית.תוכל לכותבן תו אחרי תו בגיליון שלך.
כבר בראשית דבריי.אבהיר ואדגיש שנדרשת כאן גרסת אקסל אופיס 365 עבור פונקציית vstack.
אם גרסה זו לא מותקנת אצלך.תיישם את הגיליון בגוגל שיטס בלבד(תעלה את הקובץ המצורף לדרייב ותפתח דרך השיטס)
צפה בקובץ המצורף 1530738
קצת הסבר על השלבים:
שלב 1.
בעמודה A הצבועה בירוק (הוספתי אותה כעמודה ריקה) יש להזין בתא a1 את פונקציית vstack שמקבצת את כל ערכי עמודות המוצרים ומחזירה אותם בטור אנכי ובעמודה אחת.
את פונקצייה זו עוטפת פונקציית unique שממזגת את כל הכפילויות.
את עמודה A ניתן להסתיר ללא חשש.
שלב 2.
בתא h2 פונקציית transpose הופכת ומייבאת את ערכי עמודה A במאוזן ולא במאונך.
שלב 3.
פונקציית פילטר עם טריק מסוים בתאים הצבועים בתכלת.
אם ניקח דוגמא את תא h2.אז אנו אומרים לאקסל.תחזיר לנו את ערכי מספר הזמנה מעמודה B(עד כאן הארגומנט הראשון).בתנאי ש...
אז בפונקציית פילטר קלאסית אנו יכולים להזין מספר תנאים .רק שאז כל התנאים צריכים להתקיים כמו אפקט פונקציית and.
וכאן אנו רוצים שאם המילה "מחשב" תופיע או בעמודה c או d או e או f .(כמו באפקט פונקציית or שמספיק שתנאי אחד התקיים)
בכל מצב האקסל יחזיר לנו את מספר ההזמנה שבעמודה b.
ולכן .הרעיון הוא ליצור
כמה תנאים בפועל "שנדמים" לאקסל כתנאי
אחד ארוך. (תוכל לראות את הראיה וההוכחה לכך,בעובדה שלמרות כל תנאים אלו, זה עדיין מוגדר בשורת הפונקציית כ-condition
1)
וזאת על ידי פעולת חיבור בין התנאים כאשר כל תנאי "מסוגר" בפני עצמו.
מקווה שכעת הרעיון מובן...
אני ביצעתי שינויים בגיליון המצורף כאן.
בגיליון הקודם בדקתי את הדברים.ואכן היתה איזה תקלה .אבל סידרתי אותה.
וסידרתי את הטווחים בפונקציות.שהתוצאות תהיינה דינאמיות לכל שינוי בטבלת המקור.
תעדכן אם הינך רואה שהכל עובד מצוין.
מצורף כאן גיליון מתוקן
בהצלחה.