בגוגל שיטס גם ניתן לעשות זאת בנוסחא אחתתודה רבה,
האם זה באמת הנוסחה שאתה כתבת או שזה התעוות אצלי? מעולם לא שמעתי על הנוסחאות האלו.
צפה בקובץ המצורף 1827739
פתרונות נוספים שקיבלתי:
אם יש לך אקסל 365 הנה נוסחה שתתאים לך - =TEXTJOIN(", ",TRUE,FILTER(B:B,A:A=D1,""))
הנוסחה מבוססת על מצב נתונים כזה - עמודה A רשימת התאריכים, עמודה B רשימת השמות, תא D1 התאריך הרלוונטי, ובתא E1 כתיבת הנוסחה.
אבל ניסיתי את זה בגוגל שיטס, וקיבלתי את השגיאה דלהלן:
שגיאההפונקציה FILTER מכילה גדלים לא תואמים של טווחים. ספירת השורות שהייתה צפויה להתקבל: 1003. ספירת העמודות: 1. ספירת השורות שהתקבלה בפועל: 1, ספירת העמודות: 1.
***
פתרון נוסף
סדר הפעולות:
א. מוודאים שזה ממויין לפי הסדר של התאריכים (אם לא - ממיינים עם פונקציית SORT)
ב. נניח שהתאריכים בעמודה א' והשמות בעמודה ב' והנוסחה בעמודה ג': "אם א2 שונה מא1, תכתוב את ב2, אחרת תכתוב את ג1 & ב2"
במילים אחרות אם אתמול א' תשרי והיום א' תשרי, תכתוב את השם של אתמול פלוס השם של היום (הרב אברהם, הרב יצחק), אחרת תכתוב רק את השם של היום.
ואז יוצא לנו:
הרב אברהם
הרב אברהם, הרב יצחק
הרב אברהם, הרב יצחק, הרב יעקב.
הרב משה
הרב משה, הרב יוסף
ג. בעמודה הבאה (ד) לכתוב את התאריך בתנאי שמחר התאריך שונה. אחרת לא לכתוב כלום.
ד. בעמודה הבאה לצרף את התאריך עם השמות בתנאי שיש תאריך בעמודה ד.
בקיצור זה הכיוון המשכתי אחר כך עוד ועוד תסבוכות. תן לחכם ויחכם עוד
קוד:
=JOIN(",",FILTER(MID(SUBSTITUTE(A:A," ","-",2),FIND("-",SUBSTITUTE(A:A," ","-",2))+1,100000),MID(SUBSTITUTE(A:A," ","-",2),1,FIND("-",SUBSTITUTE(A:A," ","-",2))-1)=C2))
הנוסחא היא בעמודה D