If you look at your code, the call to NDSolve you give is:
NDSolve[{
Derivative[1][cella][t] == 0.2 cella[t] nut[t] + 0.00002 cella[t] nut[t]^3,
Derivative[1][celld][t] == -0.00002 cella[t] nut[t]^3,
Derivative[1][o2][t] == -150 cella[t] + 50 (1200 - o2[t]),
Derivative[1][nut][t] == -0.2 cella[t] nut[t],
cella[0] == 10, celld[0] == 1, o2[0] == 1200, n[0] == 200},
{cella[t], celld[t], o2[t], nut[t]}, {t, 0, 31}]
The first argument to NDSolve is a list of 8 equations. I would take a look at every equation individually and ask myself whether they make sense.
The first four are differential equations. The last four are initial conditions. The very last equation you give is incorrect. Correct the very last equation and NDSolve should evaluate.