Before you start, you will not be able to do this procedure without a Record ID or Row ID (or some field that is an ordinal field that gives the dataset an order - e.g. Days of the Week, Number of Month, Year etc.)
- Get rid of the nulls
- Get rid of the the fields that do not require a fill through
- Join on the original dataset (join on itself)
- Clean step - Refer to the new Record ID field after the join and create an LOD taking the max of the the new record ID and group by the original record ID
- Filter so that the LOD statement = new record ID