Python 業務自動化 | Excel業務自動化:Excel基本操作 - コメント追加

Python Python
スポンサーリンク

コメント追加は「Excelに説明・注意書き・補足情報を埋め込み、使いやすいシートを作る」ための便利テクニック

Excel業務自動化では、セルにコメント(メモ)を追加する処理がとても役立ちます。
コメントを自動で付けておくと、次のようなメリットがあります。

  • 入力者に注意点を伝えられる
  • 数式の意味や計算ロジックを説明できる
  • チェックポイントを残せる
  • レビューコメントを自動で付けられる

Pythonの openpyxl を使えば、Excelのコメントを自由に追加できます。
初心者でも理解しやすいように、基本から実務テンプレートまで丁寧に解説します。


基本:セルにコメントを追加する(最もシンプル)

A1 にコメントを追加する

from openpyxl import load_workbook
from openpyxl.comments import Comment

wb = load_workbook("sample.xlsx")
ws = wb["Sheet1"]

comment = Comment("ここに入力してください", "システム")
ws["A1"].comment = comment

wb.save("sample.xlsx")
Python

深掘りポイント

  • Comment("本文", "作成者") の形式
  • コメントはセルの .comment プロパティにセットするだけ
  • Excel上では「赤い三角マーク」が表示される
  • 入力フォームや注意書きに最適

コメントのサイズを調整する(読みやすくする)

コメントの幅・高さを変更する

comment = Comment("このセルには日付を入力します。形式は YYYY/MM/DD です。", "システム")
comment.width = 200
comment.height = 80

ws["B2"].comment = comment
Python

深掘りポイント

  • コメントはデフォルトだと小さくて読みにくい
  • widthheight を指定すると見やすくなる
  • 長文コメントを付けるときに必須

既存コメントを上書き・削除する

コメントを上書きする

ws["A1"].comment = Comment("新しいコメント内容です", "更新者")
Python

コメントを削除する

ws["A1"].comment = None
Python

深掘りポイント

  • コメントは「セルに1つだけ」
  • 上書きは .comment = 新しいコメント
  • 削除は .comment = None とシンプル

複数セルにまとめてコメントを付ける(テンプレート作成に便利)

入力必須セルに同じコメントを付ける

from openpyxl.comments import Comment

required_comment = Comment("必須入力項目です", "システム")

for cell in ["B2", "B3", "B4"]:
    ws[cell].comment = required_comment
Python

深掘りポイント

  • テンプレートの「入力必須欄」に一括でコメントを付けられる
  • 入力ミス防止に効果的

条件付きでコメントを追加する(チェックロジックと組み合わせる)

数値がマイナスの場合にコメントを付ける

from openpyxl.comments import Comment

for cell in ws["C"]:
    if isinstance(cell.value, (int, float)) and cell.value < 0:
        cell.comment = Comment("マイナス値です。確認してください。", "チェック")
Python

深掘りポイント

  • データチェックとコメント追加を組み合わせると強力
  • エラー箇所に自動でコメントを付けられる
  • レビュー作業の自動化に最適

例題①:入力フォームに説明コメントを自動追加する

シナリオ

A列:日付
B列:担当者
C列:内容

ws["A1"].comment = Comment("日付を入力(YYYY/MM/DD)", "システム")
ws["B1"].comment = Comment("担当者名を入力", "システム")
ws["C1"].comment = Comment("内容を簡潔に記入", "システム")
Python

解説

  • 入力フォームの説明を自動で付けられる
  • Excelを開いた人が迷わない

例題②:売上が0の行にコメントを付ける

from openpyxl.comments import Comment

for row in ws.iter_rows(min_row=2):
    if row[2].value == 0:  # C列が売上
        row[2].comment = Comment("売上が0です。確認してください。", "自動チェック")
Python

解説

  • データチェックの自動化
  • エラー箇所にコメントを付けることで視認性が上がる

例題③:レビューコメントを自動で付ける(実務でよく使う)

シナリオ

「未完了」の行にレビューコメントを付けたい

from openpyxl.comments import Comment

for row in ws.iter_rows(min_row=2):
    if row[3].value == "未完了":  # D列がステータス
        row[3].comment = Comment("対応状況を更新してください", "レビューBot")
Python

解説

  • ステータス管理シートでよく使う
  • コメントを自動で付けることでレビュー作業が効率化

コメント追加を業務で設計するときの視点

  • コメントは「説明」「注意」「レビュー」に最適
  • .comment = Comment() だけで簡単に追加できる
  • 条件付きでコメントを付けるとチェック作業が自動化できる
  • テンプレートにコメントを仕込むと入力ミスが激減する
  • pandasではコメント操作ができないため openpyxl が必須

タイトルとURLをコピーしました