If you give the container element a height of 100vh, then you can give it's children 100% height.
vh is a measuring unit of the viewport height which can give you something to base subsequent relative measurements.
Your problem is that the scrollable element doesn't have the correct height.
Setting max-height or height will help the situation.
In this example, give all columns a min-height of 100%, but then give the column you want to scroll a max-height of 100% and scroll overflow-y e.g.
.column {
display: inline-block;
width: 33%;
min-height: 100%;
vertical-align: top;
margin: auto;
font-size: 3em; /* This is just for the example, so we have enough stuff to scroll */
}
#column2 {
overflow-y: scroll;
max-height: 100%;
}
<div class="column" id="column1">
</div>
<div class="column" id="column2">
content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>content to be scrolled
<br>
</div>
<div class="column" id="column3">
</div>
The key is defining the height of the element whose contents you wish to scroll.