The NULL will never be counted. The Count()-function will just skip the nulls and that goes for other aggregation functions as well along with the RangeXXX-functions too. In expressions outside of aggregations it will often prevent a numeric result.
The null can be produced by the Null() function and an If() function lacking a third parameter will return NULL if the If() function evaluates to false.
Normally Afdeling and zustandname should also be wrapped in an aggregation function unless you are 100% sure that any of these fields never have more than one value at the row level in the table or chart you are using the expression in.
I think the problem here is with the Totals function for that column. Go to table properties, select the Tijd measure, and in the Total function dropdown select "Sum", which will do a sum of rows on the Totals rows.
The reason why your expression returns a different result is that you expect is in the If statements and how does Qlik evaluate expressions on total rows. By default Qlik Sense evaluates the expression on total row exactly as on each individual row, only ignoring dimension fields. So in your case, Qlik Sense cannot determine which individual Afdeling or zustandname value you mean, because on total row there are many values coming to consideration. Therefore on Total row Afdeling='Snijden' evaluates to false, as well as left(zustandname,6) = 'ReProd'. Hence result of your expression.