How to force snap to use a specific vertex/edge?

Hi guys, I have a newbie-ish question. So I want to move this column towards the edge so that its bottom edge flushes with the edge of the block underneath it (I want the blue lines to “connect”):

However, when I go to the top view and try to move the column with snap enabled, it seems that it uses the bounding box of the column for snapping, and since the archy things at the top of the column extend outwards, they extend the bounding box too:

Is there a way to force snapping to use the corner vertex of the bottom block? The only thing I can think of at the moment is to split the column into two meshes, the top and bottom, move the bottom and snap it correctly, then move the top back into its place and rejoin the meshes. That sounds a bit more complicated for something which I feel I’m going to do often - is there a simpler way to solve this?

Try moving it in edit mode.

Thank you! I feel kind of stupid because I actually tried using edit mode to hide the vertices that were sticking out, but that caused other problems (they didn’t move when they were hidden)