# How to vertically center text in multirow in table

I am trying to vertically center the 'test' in the first column which is a multirow of the table. The code is as following:

\begin{table}[]
\tiny
\caption{a}

\begin{tabular}{|M{0.1in}|p{0.7in}|p{1.4in}|p{2in}|}
\hline
% after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
& \textbf{Factor Name} & \textbf{Explanation} & \textbf{Rationale} \\
\hline
\multirow{4}{*}{\rotatebox[origin=c]{90}{test}}& body1 &body2 &\multirow{2}{*}{\parbox{2in}{body3}}  \\
\hhline{~--~}
& 1 & 2 \newline & \\
\hhline{~---}
& 3& 3 & \multirow{2}{*}{5}  \\
\hhline{~--~}
& 6 & 7 & \\
\hhline{----}

\hline
\end{tabular}
\end{table}


any sample way to do it.

• Welcome to TeX.SX! Can you please expand the code snippets that you have posted to a full minimal working example. It is much easier to help you you if we can start with some compilable code that illustrates your problem. A MWE should compile and be as small as possible to demonstrate your problem.
– user30471
Nov 10 '16 at 3:13

Since the material to the right of the first column appears to consist of 5 rows, you should write \multirow{5}{*}{...} instead of \multirow{4}{*}{...} for the material in the first column.
Incidentally, this answer assumes that the M column type is a (suitably defined) variant of the m column type that's provided by the array package.