I'm stuck with a fairly finicky data report that I don't have the option of customizing at all, that I would like to prepare in such a way to make my life easier. I am using Excel 2011 on a Mac. (This is for student attendance)
I've been searching all over the web for days and tried multiple different methods, even the most promising of haven't worked. The closest approximation (Combining duplicate entries with unique data in Excel & the one linked in comments) runs into problems with Scripting.Dictionary not being a thing on Macs?
Right now I'm filtering the data, turning that into a pivot table and then manually cross-referencing the pivot table count and the filtered data dates & sessions and tracking new absences by pasting them into a "master list."
It doesn't work well. Its both time consuming and students fall through the cracks.
Information (Columns) I have:
- Student,
- Course,
- Course start,
- Course end,
- Attendance date,
- Session (AM or PM) and
- attendance (Present, Absent, Late, Left Early, Excused, Explained)
We meet with students after a certain number of absences and lates - but if they are absent for both morning and evening session it counts as a single absence (lates both count)
At a minimum, I would like to consolidate the AM and PM row for "absent" and "explained absent" occurring for the same student on the same day into one row, instead of spread across two so I can just count rows (explained, absent, late, and left early) instead of count and then manually track and compare. (conveniently, the classes are all entire day classes, and there is no date overlap for any single student. Less conveniently not all attendance sessions are entered, so there is no pattern to base things on.)
Priority 1: Consolidate AM & PM into one row when appropriate
- Consolidate Rows so that Session becomes "AM, PM" instead of AM & PM across two rows for "Explained Absence" "Excused Absence" and "Absence" ONLY. (Student, Course, date and attendance need to all be identical)
- Where attendance is "late", "left early" or different for the morning and evening session, the lines should NOT be consolidated.
Goals
- minimal steps, every time I do this I have to generate a new report, and I'd like to change this from an all day task to something I can do more frequently.
- End result needs a count as described above and a list of the days and sessions missed, so pivot tables are not ideal as they erase the specific data.
I am comfortable with inserting and light tweaking of VBA, but am not fluent in it by any stretch.
Example:
Student, Course, Course Start, Course End all consistent in this example. Not included below because it becomes too unwieldy.
...I give up on making this a table. Sorry.
Attendance Date Session Attendance Manual "strikes" count
17-12-04 PM Present 0
17-12-04 AM Late 1
17-12-06 AM Absent 2
17-12-06 PM Absent 2 (absent also above)
17-12-07 AM Late 3
17-12-07 PM Absent 4 (different types)
17-12-08 AM Late 1 (new course)
17-12-08 AM Late 2 (two lates)