Filtering floor-hosted elements for scheduling based on floor ID?

00_PullElementHost.dyn (20.2 KB)

So I’m having a model with 50-ish floors and a massive bunch of floor-hosted elements (both generic models and families). My task is to create a spread sheet so that for every floor identified by ID, I have a list of all the elements hosted on that floor.

Attached is my attempt and it worked fine for 2 or 3 floors but if I turned everything on in active view, which is 50-ish-floor building, dynamo would take ages to run and it seems to be an insufficient way to go about this.

The whole model was created by someone else so I have zero knowledge of what family was created as generic model or floor-hosted family. How can I filter out just floor-hosted elements and the floors itself to run all elements in active view? Or is there better way to solve this?