分割されたセルと結合されたセルを含む複雑な表

分割されたセルと結合されたセルを含む複雑な表

次のスクリーンショットのような表を作成したいと思います。\multicolumn を使用して、S1、S2 などを含む 2 行目を作成できます。次の段階では、「V」と「I」のセルを分割できませんでした。複雑なテーブル

答え1

表内の縦罫線が少ないほど良いです。この公理を受け入れると、縦罫線の数はゼロが適切です。縦罫線は何の役にも立たず、単に読みにくくなるだけです。

また、水平線は、主にリンクされた行の塊を区切るために、控えめに使用する必要があります。セルの内容を垂直方向にシフトする必要はありません。表本体の空白セルは、「上記の値を繰り返す」ことを意味します。

これが私の提案する表です。Svend Tveskæg と非常に似ていますが、行ヘッダーの配置が異なります。

\cmidrule(lr)列のグループをどのように解釈すべきかを明確にするために使用されていることに注意してください。

\documentclass{article}

\usepackage{booktabs}

\begin{document}

\begin{table}
\centering
\begin{tabular}{*{16}{l}}
\toprule
\multicolumn{2}{c}{Data1} & \multicolumn{14}{c}{Data2} \\
\cmidrule(lr){3-16}
&& \multicolumn{2}{c}{S1} & \multicolumn{2}{c}{S2}
 & \multicolumn{2}{c}{S3} & \multicolumn{2}{c}{S4}
 & \multicolumn{2}{c}{S5} & \multicolumn{2}{c}{S6}
 & \multicolumn{2}{c}{S7} \\
\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(lr){7-8}\cmidrule(lr){9-10}
\cmidrule(lr){11-12}\cmidrule(lr){13-14}\cmidrule(lr){15-16}
&& V & I      & V & I      & V & I      & V & I      & V & I      & V & I      & V & I      \\
\midrule
Subdata1 & Try1 &&&&&&&&&&&&&& \\
         & Try2 &&&&&&&&&&&&&& \\
\midrule
Subdata2 & Try1 &&&&&&&&&&&&&& \\
         & Try2 &&&&&&&&&&&&&& \\
\midrule
Subdata3 & Try1 &&&&&&&&&&&&&& \\
         & Try2 &&&&&&&&&&&&&& \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

ここに画像の説明を入力してください

答え2

これが私のやり方です(エグレ組み込まれました):

\documentclass{article}

\usepackage[hmargin = 3cm]{geometry} % to avoid `overfull \hbox' warning
\usepackage{booktabs,multirow,makecell}

\def\mc#1#2{\multicolumn{#1}{c}{#2}}
\def\mr[#1]#2#3{\multirowcell{#2}[#1]{#3}}

\begin{document}

\begin{table}
\setlength\tabcolsep{9pt}
\centering
  \begin{tabular}{*{16}{l}}
   \toprule
      \mc{2}{Data1}
    & \mc{14}{Data2} \\
   \cmidrule{3-16}
   && \mc{2}{S1}
    & \mc{2}{S2}
    & \mc{2}{S3}
    & \mc{2}{S4}
    & \mc{2}{S5}
    & \mc{2}{S6}
    & \mc{2}{S7} \\
      \cmidrule(lr){3-4}
      \cmidrule(lr){5-6}
      \cmidrule(lr){7-8}
      \cmidrule(lr){9-10}
      \cmidrule(lr){11-12}
      \cmidrule(lr){13-14}
      \cmidrule(lr){15-16}
    && V & I & V & I & V & I & V & I & V & I & V & I & V & I \\
   \midrule
    \mr[-0.5ex]{2}{Subdata1} & Try1 &&&&&&&&&&&&&& \\
   \cmidrule(l){2-16}
                             & Try2 &&&&&&&&&&&&&& \\
   \midrule
    \mr[-0.5ex]{2}{Subdata2} & Try1 &&&&&&&&&&&&&& \\
   \cmidrule(l){2-16}
                             & Try2 &&&&&&&&&&&&&& \\
   \midrule
    \mr[-0.5ex]{2}{Subdata3} & Try1 &&&&&&&&&&&&&& \\
   \cmidrule(l){2-16}
                             & Try2 &&&&&&&&&&&&&& \\
   \midrule
                             &      &&&&&&&&&&&&&& \\
   \cmidrule(l){2-16}
                             &      &&&&&&&&&&&&&& \\
   \bottomrule
  \end{tabular}
\end{table}

\end{document}

出力

縦線がないことに注意してください。縦線は役立つよりも邪魔になることが多いです。

答え3

セルの分割を考える必要はありませんが、異なる数のセルを結合することができます。すでにご存知のとおり\multicolumn、その構文は非常に基本的なものですが、ここでは異なる結合で最初の 3 行を生成する方法を説明します。

  • シンプルなセルのみで行を生成します
  • 2つのセルを結合した行を作成しました
  • 結合された14セルの行を挿入しました
  • 必要な行を複数列のフォーマット仕様に追加することで、必要な行が保持されるように注意しました。

\documentclass{article}
\renewcommand*{\familydefault}{\sfdefault}
\renewcommand*{\arraystretch}{1.5}
\begin{document}
\begin{tabular}{|l|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
  \hline
  \multicolumn{2}{|l|}{Data1} & \multicolumn{14}{c|}{Data 2} \\
  \cline{3-16}
  \multicolumn{2}{|c|}{} & \multicolumn{2}{l|}{S1} & \multicolumn{2}{l|}{S2}
     & \multicolumn{2}{l|}{S3} & \multicolumn{2}{l|}{S4}
     & \multicolumn{2}{l|}{S5} & \multicolumn{2}{l|}{S5}
     & \multicolumn{2}{l|}{S7} \\
  \cline{3-16}
  \multicolumn{2}{|c|}{} & V & I & V & I & & & & & & & & & & \\
  \hline
\end{tabular}
\end{document}

マージの詳細については、右側の「リンク」および「関連」リンクを参照してください。

最後に、線をあまり使用しないことを検討してください。このようなグリッドは、意図的であれば後でデータを入力する際に​​役立ちますが、そうでない場合は読みにくくなる可能性があります。

関連情報