Pythonのfor文は、プログラミングにおける「自動化」の核心部分です。
VBAでいう「For Each」や「For Next」に近い感覚で、リストなどのデータ群から一つずつ要素を取り出して処理を行います。
手作業で「1つやっては次、また次…」と繰り返していた作業を、わずか数行のコードで一瞬のうちに処理できるようになります。
今回は実務ですぐに使えるfor文の基本と、効率化に役立つパターンを整理して解説します。
for文の基本的な考え方
for文は、「データのまとまり(リストなど)」から中身を1つずつ取り出し、すべての要素を処理し終えるまで繰り返す命令となります。
基本的な書き方は以下の通りです。
なお、Pythonでは「字下げ(インデント)」によって処理の範囲を判定するため、この配置が非常に重要なポイントとなります。
# 基本構文
for 変数 in リストなどのデータ群:
# 繰り返したい処理(ここを字下げする)
print(変数)
例えば、メンバーリストの全員に対して順番にメッセージを表示する処理は、次のようになります。
members = ["佐藤", "鈴木", "田中"]
for member in members:
print(f"{member}さん、お疲れ様です。")
# 結果:
# 佐藤さん、お疲れ様です。
# 鈴木さん、お疲れ様です。
# 田中さん、お疲れ様です。
実務で役立つ3つの活用パターン
業務効率化の観点から、特によく使う3つのパターンを紹介します。
1. すべてのデータを順に処理する(基本形)
リストの中身をすべて処理するパターンです。フォルダ内のファイル一括処理や名簿データの確認など、幅広い場面で活躍します。
files = ["report_a.xlsx", "report_b.xlsx", "data.csv"]
for file in files:
# ここにファイルを開いたり移動したりする処理を書きます
print(f"{file} を処理中です...")
2. 回数を指定して繰り返す(range関数)
「決まった回数だけ繰り返したい」「1から100までの連番を生成したい」というケースでは、range()関数を活用します。
# 0から4までの5回繰り返す
for i in range(5):
print(f"{i + 1}回目の処理です")
3. データと同時に「何件目か」を管理する(enumerate関数)
実務で頻繁に使われる非常に便利な記述法です。
処理中のデータと一緒に「何番目かを表すインデックス番号」を合わせて取得できます。ログの記録やExcelシートの行番号指定などに重宝します。
items = ["商品A", "商品B", "商品C"]
# indexに番号(0始まり)、itemに中身が入ります
for index, item in enumerate(items):
print(f"No.{index + 1}: {item} を登録しました")
現場で使える応用例:条件分岐(if文)との組み合わせ
for文は単独で使うよりも、if文(条件分岐)と組み合わせることでその真価を発揮します。
例えば、「データリストの中から特定の条件を満たす値だけを抽出して集計する」といった高度な自動化が可能になります。
以下の例は、売上リストから「1,000円以上のデータ」だけを抽出して合計するコードです。
sales = [500, 1200, 800, 3000, 450]
total = 0
for sale in sales:
if sale >= 1000:
total += sale
print(f"{sale}円を加算しました")
print(f"1000円以上の合計売上: {total}円")
このように、「繰り返し」の中で「判断」を行うことで、日常の複雑な集計業務もスムーズに自動化できるようになります。
まとめ
- for文は「データのまとまりから要素を1つずつ取り出して処理する」機能
- Pythonでは「インデント(字下げ)」によって処理の適用範囲を定める
- enumerate()関数を活用することで、データの順序番号も手軽に並行管理できる
この「インデントによるブロック管理」に慣れてしまえば、Pythonのfor文は非常にシンプルで書きやすいと感じられるはずです。
ぜひ日々のルーティン業務の自動化に取り入れてみてください!
Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

コメント