אקסל | יבוא סיווג לפי תנאי "מכיל"
-
אני מעוניין לסווג טבלה של אלפי שורות שמכילות תוכן מסוים, אני אמור להוסיף לכל שורה סיווג לפי 3 סוגי מפתחות.
אשמח אם מישהו יכול לעזור לי בזה.להפשטת הדיון הכנתי קובץ דוגמה,
(השתמשתי בדוגמה מעניני דיומא - סיווג ברכות, זה לא באמת הצורך שלי )התאים בטווח לחיפוש מכילים מילים ואותיות נוספות מעבר לתנאי עצמו.
התוצאה צריכה להיות כמו בדוגמה: בתא C5 יהיה כתוב "שהכל". וזה, כי תא B4 מכיל את המילה "סוכר":תודה רבה לעונים.
-
@מטעמים יש משהו שלא ברור לי, ב"נתוני מצרכים" בעמודה "ברכה" האם יכול להיות יותר מערך אחד? היינו האם בטבלת הסיווגים הערך יכול להופיע יותר מפעם אחת?
לגוף החיפוש, אני לא בטוח שנוסחה לבד תהיה יעילה, נניח כתוב "2 ביצים" בנתוני מצרכים, איך זה יתקשר ל"ביצה" בטבלת הסיווגים? (בדוגמה שלך זה יכול לעבוד כי מופיע "סוכר" גם בסוכריות..) אולי הייתי מציע שתוסיף טבלה שבה יהיה בעצם כל ההקשרים שיכולים להיות לכל מוצר, משהו כזה:
סיווג-לפי-תנאי-מכיל (1).xlsxאם מדובר באלפי שורות ייתכן שעדיף לערוך את הקישור בין הטבלאות עם עמודה נוספת בעלת ערך מספרי, זה בד"כ מהיר יותר.
-
@מטעמים כתב באקסל | יבוא סיווג לפי תנאי "מכיל":
@אביי כתב:
אם מדובר באלפי שורות ייתכן שעדיף לערוך את הקישור בין הטבלאות עם עמודה נוספת בעלת ערך מספרי, זה בד"כ מהיר יותר.למה אתה מתכוון?
בד"כ השוואה של ערך int מהירה יותר מהשוואה של סטרינגים, זה לא יהיה משמעותי בחישובים קטנים, אבל בסדר גודל רציני הייתי מתחשב בזה כנראה.. אבל זה לא רלוונטי למקרה שלך אם אין לך צורך בסינוניימים
-
@אביי
הבאת לי רעיון להוסיף עמודה ולהקל על אקסל להביא לי את התוצאה המיוחלת.
להוסיף קודם עמודה לזיהוי המילה בתוך המחרוזת, ואז לעשות לוקאפ רגיל עם תנאי מהעמודה החדשה על מנת לתת את הערך בעמודת הסיווג.השאלה היא: איך אני מביא שאקסל ירשום לי את המילה "סוכר" בתא C5?
-
@מטעמים התחלתי לעבוד על הכיוון הזה אתמול.
=IF(LEN(B10)-COUNTIF(F5:F15,LEN(SUBSTITUTE(B10,F5:F15,)))>2,"yes","no")
זה בעצם מחפש מחרוזות משלש אותיות ומעלה מהתא ב B בתוך הטור F.
א. אני לא יודע איך לבדוק איזה נתון במחזרוזות הוא מצא שמתאים.
ב. איך נוסיף לזה לוקאפ?קח בחשבון שיכול להיות לזה בעיות אם המחרוזות כי למשל בתוך המילה "סוכריות" יש "סוכר" וגם "כריות" וכדו'
-
@מטעמים כתב באקסל | יבוא סיווג לפי תנאי "מכיל":
@Whenever
לגבי א. כדי להמשיך אותך אני צריך להבין מה התחלת...האמת שאני כבר לא מבין בעצמי:)
הכיוון שלי הוא קודם לחלק את התא הראשון לגורמים של קבוצות של 3 תויים. לדוג' "שקי" "קית" "סוכ" "וכר" "כרי" "ריו" "יות". (אולי גם להוסיף את הרווחים למחרוזות, צ"ע)
אח"כ לחפש אם אחת המחרוזות נמצאים בטווח של ה"מאכל"
אם נמצא אז להחזיר את הברכה.
אם מחר אצטרך לעזוב את הגמרא אנסה לחשוב על פתרון.
-
ניסיתי גישה קצת שונה
תבדוק את הקובץ
סיווג-לפי-תנאי-מכיל.xlsx -
@מטעמים כתב באקסל | יבוא סיווג לפי תנאי "מכיל":
@amik
לא כ"כ הצלחתי להבין. אשמח אם יש לך פנאי להרחיב הסבר קטן.הוא בעצם עשה xlookup עם wildcard כלומר חיפוש של ערך גם אם משהו התווסף על הערך כלומר אם חיפשת את המילה "חלב" אבל רשום "חלבן" הלוקאפ עדיין ימצא את הערך.
הבעיה היא שפה אנחנו צריכים למצוא חלק מהערך ולא תוספת על הערך. כלומר אנחנו רוצים למצוא "חלבן" בתוך המילה "חלב".
@amik גרם לי לחשוב שאולי באמת אפשר לעשות את כל הלוקאפ הפוך ולחפש ולמשוך את הנתונים מהטבלא הראשונה לטבלה השניה, וזה באמת עובד מצויין!
@amik אולי זה היה כוונתך?מצורף קובץ סיווג-לפי-תנאי-מכיל (1).xlsx
זה לא מושלם ונראה לי שעדיין צריך משהו מורכב יותר בשביל לחלק את התא הראשון למחרוזות, עוד לא התייאשתי אבל זה מאוד מסובך:)
-
@Whenever כתב באקסל | יבוא סיווג לפי תנאי "מכיל":
@amik גרם לי לחשוב שאולי באמת אפשר לעשות את כל הלוקאפ הפוך ולחפש ולמשוך את הנתונים מהטבלא הראשונה לטבלה השניה, וזה באמת עובד מצויין!
@amik אולי זה היה כוונתך?בדיוק! מצטער שלא הספקתי להסביר.
הרעיון שעשה @Whenever יפה מאוד, וזה מתאים אם נתוני המצרכים הם קבועים ולא משתנים.
וכך גם הדוגמה שאני עשיתי.שלא מתאים לכמות גדולה.אם אין הרבה סיווגים אפשר לבצע זאת עם טבלת משנה שיעבוד לכל נתוני המצרכים.
מצו"ב דוגמה
סיווג-לפי-תנאי-מכיל.xlsx -
אם יש לך אקסל מתקדם Office 2019 או Office 365
אז אפשר לקבל את הערך היחיד עם נוסחת TEXTJOIN ללא טבלת עזר
מצו"ב דוגמה בטבלה2
סיווג-לפי-תנאי-מכיל.xlsx -
@amik זה בדיוק הפתרון.
מה שעשית ב"טבלה2" פשוט מעולה.
(כבר כמעט הגעתי לאותו פתרון, אבל נתקעתי על שורות שמכילות 2 סיווגים (XLOOKUP נתן לי את הסיווג הראשון במקום להחזיר שגיאה). מה שאצלך מסווג כ"אין התאמה".אני רוצה להגיד לך שכבר בפועל התחלתי לעבוד בקבצים שלי לפי הנוסחה הזו, וזה פתר לי ממש נושא מסוים. שלחתי את הטבלה למישהו שעובד איתי, הוא היה ספקן מלכתחילה שאפשר למצוא לזה פתרון, (הוא היה עובר תמיד את כל השורות באופן ידני...) כמובן שגם הוא מודה שהפורום הזה מוציא מתחת ידיו פתרונות איכותיים מחוץ לקופסה. תודה רבה לך וגם לצדיקים @אביי @Whenever שניסו את כוחם.
-