Markdownの表でできないことと、その回避策
Markdown表・表データ変換コラム
今回は、Markdownの表で「できないこと」の方の話です。
表計算ソフトの表をそのまま持っていこうとすると、途中で無理が出ます。
先に限界を知っておくと、そもそも表で書くべきかどうかの判断がしやすくなります。
できないこと
- セルの結合(横方向も縦方向も)
- 複数行のヘッダ(大項目の下に小項目が並ぶ形)
- セル単位の背景色や罫線
- 行の高さ・列幅の指定
- セル内での箇条書き(
<br>と記号で似せることはできます)
このうち、詰まりやすいのはセル結合と複数行ヘッダです。
どちらも「表らしい表」を作ろうとすると自然に使いたくなる機能です。
回避策1: HTMLで書く
多くの環境では、Markdownの中にHTMLを直接書けます。<table> を使えばセル結合(colspan / rowspan)も指定できます。
ただし書く量は一気に増えますし、表示できる環境も限られます。
※ HTMLを許可していない環境(一部のブログやチャットツール)では、タグがそのまま表示されてしまいます。
どうしてもその形でなければ伝わらない場合の最終手段、くらいの位置づけかと思います。
回避策2: 表を分ける
複数行ヘッダが必要になるのは、1つの表に情報を詰め込みすぎている場合が多いです。
大項目ごとに表を分けて、それぞれに見出しを付ける形にすると、Markdownの範囲で収まります。
読む側にとっても、こちらの方が追いやすいことが多いように思います。
回避策3: 画像として貼る
複雑な表をそのまま見せたい場合、スクリーンショットを貼るという手もあります。
見た目は完全に再現できますが、文字を検索できない、コピーできない、画面幅に追従しないといった欠点が付いてきます。
資料の付録として添えるなら十分ですが、本文の一部として使うのは避けた方が無難です。
割り切って使う
Markdownの表は、機能としては最低限です。
それでも「テキストのまま差分が追える」「どこでも書ける」という利点があるので、割り切って使う価値はあると思っています。
このツールも、Markdownの表で表現できる範囲に限って変換しています。
結合セルを含む表を読み込ませた場合は分解された状態になるので、そこは手で整える前提です。
できないことを黙って落とすより、先に書いておいた方がいいかと思うので、正直に置いておきます。
表とMarkdownを相互に簡単変換
Markdown表 相互変換ツールなら、コピペするだけでExcel表とMarkdown表を双方向に整形できます。