You're right, I added more cases, and my example above works for when only one student is assigned to each user (or if the first row in the filter for the cases matches the SYS_USER).
I put together another way that works for multiple students, which filters out all students assigned to the SYS_USER. Here's how I set it up:
I created a User table, where the first column is the Name (contact format), and the next column filters the assigned cases to that user (similar to the formula in the Students table):
Note that you also need to make the User column in the Caseload table a rowlink to the User table:
In the User table, I have a column that filters out the students that are in each assigned case. This is achieved with the IN operator:
=FILTER(Students," Students IN [AssignedCases][Student]")
The last column checks the opposite by using the NOT operator (checks which students are not in that list of assigned cases):
=FILTER(Students," NOT(Students IN [AssignedCases][Student])")
Then in Builder, your picklist will just call the filter in the last column of the User table in the row that matches the SYS_USER. This is done with FINDROW:
=FINDROW(Users, "Users[Name]=%", $[SYS_USER])[NOTAssignedStudents]
Here it is in action in the app. It's only showing the students that are not assigned to cases where I am the user (the SYS_USER):
Hope this idea works for you! Let me know how it goes, and if you have any other questions.