Установить для ячейки с 'text1' только абсолютную позицию, а во внутреннем div снова отобразить: table-cell и vertical-align: middle
<style>
.th{position:absolute;border:none}
.th2 {
height:100px;
width:300px;
background-color:green;
display: table-cell;
vertical-align:middle;
left:-200px;
position:relative;
}
.tbl{ margin-left: 305px;}
td{height:100px;width:200px;vertical-align:bottom; }
</style>
<table class=tbl border=3 >
<tr >
<td class=th> <div class=th2>text1</div></td>
<td>text2</td>
<td>text3</td>
<td>text4</td>
</tr>
</table>