Or should the total amount of cells equal to columns * rows?
columns * rows
A table with different amount of cells on different rows seems to pass the W3 Validator.>
You can use colspan, but the sum including the colspan value(s) should be equal for the table to render properly.
colspan
blah blah boo
The first row has one cell but it spans 2 cells because of the colspan, the second row has two cells and this is perfectly valid.