How to merge row in the first column in LaTeX
You can decipher the following template.
\documentclass[preview,border=12pt,12pt]{standalone}
\usepackage{array,multirow}
\let\mc=\multicolumn
\let\mr=\multirow
\let\cl=\cline
\begin{document}
\begin{tabular}{|*6{c|}l}
\cl{3-6}
\mc{2}{c|}{\mr{2}{*}{empty}} & \mc{4}{c|}{Primes} \\\cl{3-6}
\mc{2}{c|}{} & 2 & 3 & 5 & 7 \\\cl{1-6}
\mr{2}{*}{Powers} & 504 & 3 & 2 & 0 & 1 \\\cl{2-6}
& 540 & 2 & 3 & 1 & 0 \\\cl{1-6}
\mr{2}{*}{Powers} & HCF & 2 & 2 & 0 & 0 & min \\\cl{2-6}
& LCM & 3 & 3 & 1 & 1 & max \\\cl{1-6}
\end{tabular}
\end{document}
Warning
\mr
can be nested in \mc
but the reverse is not possible!
References
My code above was inspired by an example from Wikipedia as follows.
\begin{tabular}{cc|c|c|c|c|l}
\cline{3-6}
& & \multicolumn{4}{ c| }{Primes} \\ \cline{3-6}
& & 2 & 3 & 5 & 7 \\ \cline{1-6}
\multicolumn{1}{ |c }{\multirow{2}{*}{Powers} } &
\multicolumn{1}{ |c| }{504} & 3 & 2 & 0 & 1 & \\ \cline{2-6}
\multicolumn{1}{ |c }{} &
\multicolumn{1}{ |c| }{540} & 2 & 3 & 1 & 0 & \\ \cline{1-6}
\multicolumn{1}{ |c }{\multirow{2}{*}{Powers} } &
\multicolumn{1}{ |c| }{gcd} & 2 & 2 & 0 & 0 & min \\ \cline{2-6}
\multicolumn{1}{ |c }{} &
\multicolumn{1}{ |c| }{lcm} & 3 & 3 & 1 & 1 & max \\ \cline{1-6}
\end{tabular}
However, as you can see and compare, my code is much much simpler and well refactored yet still readable, right?
What you try to do can be done with this:
\documentclass{standalone}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|c|c} \hline
& & \multicolumn{3}{|c|}{ ABC} \\ \hline
& & A&B&C\\ \hline
\multirow{3}{*}{DEF} & D &1& 4 & 7 \\ \cline{2-5}
&E& 2& 5 & 8 \\ \cline{2-5}
&F& 3& 6 & 9 \\ \cline{2-5}
\end{tabular}
\end{document}
But! LaTeX can make tables that are much nicer that this Excel-style layout. Consider doing something like this, which still nice to look at if you have more than 3 columns.
\documentclass{standalone}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{lcccccc}
\toprule
& \multicolumn{3}{c}{ ABC} & \multicolumn{3}{c}{ ABC} \\\cmidrule(lr){2-4} \cmidrule(lr){5-7}
& A&B&C & A2&B2&C2\\ \midrule
DEF:\\
\;D &1& 4 & 7 &1& 4 & 7 \\
\;E& 2& 5 & 8 &1& 4 & 7 \\
\;F& 3& 6 & 9 &1& 4 & 7 \\
XYZ:\\
\;X &1& 4 & 7 &1& 4 & 7 \\
\;Y& 2& 5 & 8 &1& 4 & 7 \\
\;Z& 3& 6 & 9 &1& 4 & 7 \\ \bottomrule
\end{tabular}
\end{document}
\multirow
command, needs to be act on its own column...
So you need to add an extra column on the left side in each column and thus an extra &
needed on each left side of every row of your table and an extra columntype (lets say c
) at the beginning of your tabular's arguments.
Also, multicolumn in your example will should be 3 rows tall and should start from the row (1,4,7). But then an \hline
on one of this or the next rows, would add a line in the "multirowed" cell too, and this is not wanted. So, we have to change some \hline
s with \cline{2-4}
that is a line from column 2 to column 4 and not from 1st to last.
Finally, you can add empty \multicolumn{1}{c|}{}
as first element of your first two rows, in order to change their behavior from |c|
to c|
and remove this way the unwanted vertical line from their left side:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}
\centering
\caption{Table}
\begin{tabular}{|c|c|c|l|} \cline{2-4}
\multicolumn{1}{c|}{}&\multicolumn{3}{|c|}{ ABC} \\ \cline{2-4}
\multicolumn{1}{c|}{}&A&B&C\\ \hline
\multirow{3}{*}{DEF}&1& 4 & 7 \\ \cline{2-4}
&2& 5 & 8 \\ \cline{2-4}
&3& 6 & 9 \\ \hline
\end{tabular}
\end{table}
\end{document}
PS: Tried to show you what was your mistakes and not to find a way to show your table more beautiful.