Stefano C.
Stefano C.

Reputation: 1063

Latex table multiple row and multiple column

I'm trying to create a table in Latex but without success. I tried different solutions but no one solves my problem. I would like create a table like the picture below:

enter image description here

Can anyone show how to do this in Latex please?

Upvotes: 30

Views: 147775

Answers (2)

MattAllegro
MattAllegro

Reputation: 7345

One first sketch may be the following:

\documentclass{article}
\usepackage{multirow}

\begin{document}

\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multirow{3}{*}{A} & \multicolumn{2}{c|}{User B} & %
    \multicolumn{2}{c|}{User C} & \multirow{3}{*}{D}\\
\cline{2-5}
 & \multicolumn{2}{c|}{Value} & \multicolumn{2}{c|}{Value} & \\
\cline{2-5}
 & B1 & B2 & C1 & C2 & \\
\hline
 & & & & & \\
\hline
 & & & & & \\
\hline
% etc. ...
\end{tabular}

\end{document}

It produces:

screenshot of output

Addendum:

\documentclass{article}
\usepackage{multirow}

\begin{document}

{\sffamily %
\begin{tabular}{|c|c|c|c|c|c|c|}% seven columns now, not six...
\hline
\multirow{3}{*}{A} & \multicolumn{2}{c|}{User B} & \multirow{3}{*}{X} & %
    \multicolumn{2}{c|}{User C} & \multirow{3}{*}{D}\\
\cline{2-3}\cline{5-6}
 & \multicolumn{2}{c|}{Value} & & \multicolumn{2}{c|}{Value} & \\
\cline{2-3}\cline{5-6}
 & B1 & B2 & & C1 & C2 & \\
\hline
 & & & & & & \\
\hline
 & & & & & & \\
\hline
% etc. ...
\end{tabular}
}%

\end{document}

produces:

enter image description here

Please, critically check all the differences between the original code and this latter.

Don't forget that several LaTeX packages can help you improving style, dimensions and spacing of your table: among these, I advise you to have a look at bigstrut.

Also:

\documentclass{article}
\usepackage{multirow}

\begin{document}
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multirow{3}{*}{A} & \multirow{3}{*}{X} & \multicolumn{2}{c|}{User B} & \multicolumn{2}{c|}{User C} & \multirow{3}{*}{D}\\
\cline{3-6}
 & & \multicolumn{2}{c|}{Value} & \multicolumn{2}{c|}{Value} & \\
\cline{3-6}
 & & B1 & B2 & C1 & C2 & \\
\hline
 & & & & & & \\
\hline
\end{tabular}

\end{document}

You should now be able to operate on your own further changes to the model of table.

Upvotes: 51

Brendan W
Brendan W

Reputation: 3453

Check out the multirow package:

http://texblog.org/2012/12/21/multi-column-and-multi-row-cells-in-latex-tables/

You have to include the library:

%multi-column
\multicolumn{number cols}{align}{text} % align: l,c,r

%multi-row
\usepackage{multirow}

\multirow{number rows}{width}{text}

Then it looks like this:

\documentclass[11pt]{article}
\usepackage{multirow}
\begin{document}

\begin{table}[ht]
\caption{Multi-column and multi-row table}
\begin{center}
\begin{tabular}{ccc}
    \hline
    \multicolumn{2}{c}{\multirow{2}{*}{Multi-col-row}}&X\\
    \multicolumn{2}{c}{}&X\\
    \hline
    X&X&X\\
    \hline
\end{tabular}
\end{center}
\label{tab:multicol}
\end{table}

\end{document}

note: code examples from the link provided

Upvotes: 2

Related Questions