The atan() function takes a single number as an argument, so when using it to find the angle associated with a Cartesian vector (or the angle of a complex number) it cannot distinguish whether a negative argument should place the angle in quadrants 2 or 4, or 1 or 3. In other words an argument comprised of (-y)/(+x) is indistinguishable from (+y)/(-x), and (+y)/(+x) is indistinguishable from (-y)/(-x). So the signs of the sine and cosine of an angle can be confused when using atan. (There is another function called atan2(y,x) which takes two arguments and always returns a result in the correct quadrant, but you can research that separately).
The best approach when looking for the angle associated with a vector or complex number is to make a quick sketch of the vector or point to locate the correct quadrant. Then adjust the angle returns by atan() if required.
View attachment 98115
As you can see in the figure your result of -23.8° is good. 336° would also work, but by convention these angles are always normalized to lie within the range -180° ≤ θ ≤ +180° . 156° would be
incorrect because it would place the point or vector in the second quadrant rather than the third.