Formula to restrict the parent row status from being complete unless all child rows are complete

I need it to also take into account that some don't have child rows. Here is the formula I'm using, however, when a row doesn't have any child rows it is triggering a not started result. Could someone assist? Any help would be much appreciated!

=IF(COUNTIFS(CHILDREN(), "Not Started") = COUNT(CHILDREN()), "Not Started", IF(COUNTIFS(CHILDREN(), "On Hold") = COUNT(CHILDREN()), "On Hold", IF(COUNTIFS(CHILDREN(), OR(@cell = "Complete", @cell = "On Hold")) = COUNT(CHILDREN()), "Complete", "In Progress")))