At first I couldn't find my way around but then i started to try some trial and error. I first started with cirlce = 1 so the circles on the 3rd row would have the total of 3, leaving the triangle = 15. Because the bottom row's total was 2 more, the square = 17. Then I added the last column which didn't total 22 so I tried circle = 2, circle = 3, etc. When i came to circle = 4, I found out that triangle = 6 and square = 8. To find out the hexagon, I looked at the 2nd row which had 2 square and 2 hexagons. I did 2x8=16 to find the value of the squares and then did (the left over)14/2=7 to get the value of 1 hexagon. The first column had 2 circles, 1 hexagon and 1 triangle so (2x4)+7+6=21.
So:
Circle = 4
Triangle = 6
Square = 8
Hexagon = 7
The missing number was 21.