Skip to content

テーブル構文

テーブルは、Markdownの拡張構文の重要な部分で、データを構造化された方法で表示するために使用されます。

基本的なテーブル構文

シンプルなテーブル

列の区切りにパイプ | を使用し、ヘッダー区切り行に - を使用します:

markdown
| 名前  | 年齢 | 職業     |
|-------|-----|----------|
| 張    | 25  | エンジニア |
| 李    | 30  | デザイナー |
| 王    | 28  | プロダクトマネージャー |

レンダリング出力:

名前年齢職業
25エンジニア
30デザイナー
28プロダクトマネージャー

テーブルの配置

コロン : を使用して列の配置を制御します:

markdown
| 左揃え | 中央揃え | 右揃え |
|:-----------|:------------:|------------:|
| コンテンツ1  | コンテンツ1    | コンテンツ1   |
| コンテンツ2  | コンテンツ2    | コンテンツ2   |
| コンテンツ3  | コンテンツ3    | コンテンツ3   |

レンダリング出力:

左揃え中央揃え右揃え
コンテンツ1コンテンツ1コンテンツ1
コンテンツ2コンテンツ2コンテンツ2
コンテンツ3コンテンツ3コンテンツ3

配置の詳細

配置構文

構文配置
---左(デフォルト)`
:--:中央`
--:`

数値データテーブル

数値の表示には右揃えが適しています:

markdown
| 製品 | 価格 | 販売数 | 売上高 |
|:--------|------:|------:|--------:|
| A       | ¥99   | 1,250 | ¥123,750|
| B       | ¥199  | 856   | ¥170,344|
| C       | ¥299  | 432   | ¥129,168|
| **合計** |      | **2,538** | **¥423,262** |

レンダリング出力:

製品価格販売数売上高
A¥991,250¥123,750
B¥199856¥170,344
C¥299432¥129,168
合計2,538¥423,262

テーブル内の書式設定

インライン書式

テーブルセルはMarkdownのインライン書式をサポートします:

markdown
| 機能      | 状態      | 説明                |
|-------------|-------------|----------------------------|
| **ログイン**   | ✅ 完了     | メールでユーザーがログインできます |
| *登録*  | 🚧 進行中 | サードパーティ登録をサポート |
| `パスワードリセット` | ❌ 未着手 | メールでパスワードをリセット   |
| [ユーザーセンター](/) | ⏳ 計画中 | ユーザー情報管理 |

レンダリング出力:

機能状態説明
ログイン✅ 完了メールでユーザーがログインできます
登録🚧 進行中サードパーティ登録をサポート
パスワードリセット❌ 未着手メールでパスワードをリセット
ユーザーセンター⏳ 計画中ユーザー情報管理

テーブル内のコード

markdown
| コマンド | 機能      | 例           |
|---------|--------------|-------------------|
| `ls`    | ファイル一覧   | `ls -la`          |
| `cd`    | ディレクトリ変更   | `cd /home/user`   |
| `mkdir` | ディレクトリ作成     | `mkdir new-folder`|
| `rm`    | ファイル削除 | `rm -rf folder/`  |

レンダリング出力:

コマンド機能
lsファイル一覧ls -la
cdディレクトリ変更cd /home/user
mkdirディレクトリ作成mkdir new-folder
rmファイル削除rm -rf folder/

複雑なテーブルの例

テクノロジー比較テーブル

markdown
| 機能         | React | Vue | Angular |
|:---------------|:-----:|:---:|:-------:|
| **学習曲線** | 中級 | 簡単 | 難しい |
| **パフォーマンス**    | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| **エコシステム**      | 豊富  | 良好 | 完全 |
| **エンタープライズサポート** | Facebook | 独立 | Google |
| **TypeScript**     | ✅    | ✅   | ✅ 組み込み |
| **コミュニティ活動** | 非常に高い | 高い | 中程度 |

レンダリング出力:

機能ReactVueAngular
学習曲線中級簡単難しい
パフォーマンス⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
エコシステム豊富良好完全
エンタープライズサポートFacebook独立Google
TypeScript✅ 組み込み
コミュニティ活動非常に高い高い中程度

APIドキュメンテーションテーブル

markdown
| パラメータ | 型     | 必須 | デフォルト   | 説明                |
|-----------|----------|:--------:|-----------|----------------------------|
| `id`      | `number` | ✅       | -         | ユーザー固有の識別子     |
| `name`    | `string` | ✅       | -         | ユーザー名                  |
| `email`   | `string` | ✅       | -         | ユーザーのメールアドレス         |
| `age`     | `number` | ❌       | `null`    | ユーザーの年齢                   |
| `avatar`  | `string` | ❌       | `"/default.jpg"` | アバターのURL         |
| `status`  | `enum`   | ❌       | `"active"` | アカウントステータス: `active` \| `inactive` |

レンダリング出力:

パラメータ必須デフォルト説明
idnumber-ユーザー固有の識別子
namestring-ユーザー名
emailstring-ユーザーのメールアドレス
agenumbernullユーザーの年齢
avatarstring"/default.jpg"アバターのURL
statusenum"active"アカウントステータス: active | inactive

テーブル書式設定のヒント

絵文字の使用

markdown
| OS      | サポート | 注意      |
|---------|:-------:|-----------|
| Windows | ✅      | 完全サポート |
| macOS   | ✅      | 完全サポート |
| Linux   | ⚠️      | 部分的サポート |
| iOS     | ❌      | サポートされていません |
| Android | 🚧      | 開発中 |

レンダリング出力:

OSサポート注意
Windows完全サポート
macOS完全サポート
Linux⚠️部分的サポート
iOSサポートされていません
Android🚧開発中

バッジの使用

markdown
| プロジェクト | 状態 | バージョン |
|---------|--------|---------|
| React   | ![安定](https://img.shields.io/badge/status-stable-green) | `v18.2.0` |
| Vue     | ![安定](https://img.shields.io/badge/status-stable-green) | `v3.3.0`  |
| Angular | ![ベータ](https://img.shields.io/badge/status-beta-orange)    | `v16.0.0` |

空のセルの処理

空のコンテンツの表現

markdown
| アイテム | Q1   | Q2   | Q3   | Q4   |
|------|:----:|:----:|:----:|:----:|
| 売上高 | 1M   | 1.2M | -    | -    |
| 経費 | 800K | 900K | 950K | -    |
| 利益  | 200K | 300K |      |      |

レンダリング出力:

アイテムQ1Q2Q3Q4
売上高1M1.2M--
経費800K900K950K-
利益200K300K

一般的なエラーと解決策

1. パイプの不整列

markdown
❌ 不正:
| 名前 | 年齢|職業|
|------|----|----------|
|張|25|エンジニア|

✅ 正しい:
| 名前 | 年齢 | 職業 |
|------|-----|------------|
| 張 | 25  | エンジニア   |

2. 区切り行の欠落

markdown
❌ 不正:
| 名前 | 年齢 | 職業 |
| 張 | 25 | エンジニア |

✅ 正しい:
| 名前 | 年齢 | 職業 |
|------|-----|------------|
| 張 | 25  | エンジニア   |

3. 不正な文字の使用

markdown
❌ 不正:
| 名前 | 年齢 | 職業 |
|------|-----|------------|
| 張 | 25歳 | エンジニア |

✅ 正しい:
| 名前 | 年齢 | 職業 |
|------|-----|------------|
| 張 | 25 | エンジニア |

テーブル書式設定のベストプラクティス

推奨事項

markdown
✅ 推奨プラクティス:
1. **シンプルさを保つ**
   - テーブルは読みやすく保つ
   - 必要以上に複雑にしない

2. **一貫性を維持**
   - 配置と書式を統一
   - 同じスタイルを使用

3. **データの重要性を考慮**
   - 最も重要な情報を目立たせる
   - 必要に応じて強調表示や配置を調整

❌ 避けるべき慣行:
1. 過度に広いテーブル
2. 読みにくい配置
3. 不要な情報の追加
4. 一貫性のない書式

アクセシビリティに関する考慮事項

markdown
✅ アクセシビリティのヒント:
1. 色だけに依存しない
2. 十分なコントラストを確保
3. スクリーンリーダーに対応
4. モバイルデバイスでも読みやすく

関連構文

ツールとリソース

テーブル生成ツール

  • TableConvert: オンラインテーブル変換
  • Markdown Tables Generator: テーブル作成支援
  • VS Code拡張機能: Markdownテーブル編集

まとめ

Markdownのテーブル構文は、データを明確かつ構造化された方法で表示するための強力なツールです。適切に使用すれば、ドキュメントの読みやすさと情報伝達力を大幅に向上させることができます。

Build by www.markdownlang.com