Excel には便利なグラフ機能が多く用意されていますが、ガントチャートは標準では作成できません。
この記事では、Python in Excel と Matplotlib を使って、タスクの開始日と終了日をもとにガントチャートを作成し、見やすく調整するまでの流れを確認します。
Python in Excelを用いたScatterplotの描画については以下で解説しています。
Python in Excel実践:Seabornで散布図(Scatter Plot)を作成する – Lean Data Office
また、Python in Excelの導入記事、まだご覧になっていない方は以下。
Python in Excelにおけるpandas DataFrameの基本 – Lean Data Office
今回使用するのは、プロジェクトの進行管理を想定した Excel テーブルです。
各行にはタスク名、開始日(Start)、終了日(End)が記載されています。
ガントチャートでは、この期間情報をそのまま視覚化します。

Python in Excel の Python セルで、次のコードを実行します。
df = xl("B4:D9", headers=True)
この処理により、Excel 上のテーブルが pandas の DataFrame として定義されます。
以降のガントチャート作成は、この DataFrame を元に進めます。

Matplotlib を使ったガントチャートの描画
Matplotlib を使って、ガントチャート用の figure と axis を作成します。
縦軸にはタスクの数に応じた目盛りを設定し、
for ループで各タスクの期間を横棒として描画します。

初期状態では、X軸の日付ラベルが重なり、視認性があまり良くありません。
これは Matplotlib が日付目盛りを自動で詰めて表示しようとするためです。

日付ラベルの微調整
次の1行を追加することで、X軸の日付ラベルを回転させます。
plt.xticks(rotation=45)

これにより、日付が重ならず、ガントチャートとして読みやすい表示になります。

軸ラベルとタイトルを追加する
最後に、グラフとしての情報を補うため、
X軸・Y軸のラベルとタイトルを設定します。
ax.set_xlabel("Dates")
ax.set_ylabel("Task")
ax.set_title(xl("B3"))

すべての設定が反映されると、
タスク名・期間・日付軸が明確に分かるガントチャートが完成します。
Excel には標準で用意されていないガントチャートも、
Python in Excel と Matplotlib を使うことで、
データをそのまま活用しながら作成できます。

まとめ
Matplotlib を使えば、Excel に用意されていないガントチャートも、Python in Excel 上で作成できます。
日付の扱いや軸ラベルを少し調整するだけで、プロジェクトの進行状況を分かりやすく可視化できます。