プログラム初心者がpythonを勉強する方法!その4・EXCELで条件分岐処理をやってみる!

スポンサーリンク
050-VBA

python勉強中で既に嫌になっているヘタレな管理人です。

本日4日目のpythonのお勉強ですが・・・

数日空いてしまい・・・

前回まで勉強したことをもう忘れています。

本当にもの覚えの悪い自分自身が嫌になります。

pythonでの条件分岐処理

さて、本日も・・・

とりあえず頑張れるところまでやってみます。

EXCELの条件分岐処理です。

chatgptに聞いてみます。

おもった以上に長い回答が返ってきました。

Pythonで条件分岐するコードの簡単な例を提示します。条件分岐とは、ある条件によってプログラムの実行内容を変えることです。Pythonでは、if文を使って条件分岐を行うことができます。if文の基本的な書き方は以下の通りです。

if 条件式:
    条件式が真のときに実行する処理
else:
    条件式が偽のときに実行する処理

例えば、変数xの値が10以上かどうかを判定して、結果を表示するコードは以下のようになります。

x = 15 # 変数xに任意の値を代入
if x >= 10: # xが10以上かどうか判定
    print("xは10以上です") # 真のときに実行
else:
    print("xは10未満です") # 偽のときに実行

このコードを実行すると、以下のような出力が得られます。

xは10以上です

if文では、elif節を使って、複数の条件式を指定することもできます。elif節は、else ifの略で、前の条件式が偽であるときに別の条件式を判定します。elif節は、必要なだけ追加することができます。elif節の書き方は以下の通りです。

if 条件式1:
    条件式1が真のときに実行する処理
elif 条件式2:
    条件式1が偽で、条件式2が真のときに実行する処理
elif 条件式3:
    条件式1と条件式2が偽で、条件式3が真のときに実行する処理
...
else:
    すべての条件式が偽のときに実行する処理

コピー

例えば、変数xの値が正か負かゼロかを判定して、結果を表示するコードは以下のようになります。

x = 0 # 変数xに任意の値を代入
if x > 0: # xが正かどうか判定
    print("xは正です") # 真のときに実行
elif x < 0: # xが負かどうか判定
    print("xは負です") # 真のときに実行
else: # xがゼロかどうか判定
    print("xはゼロです") # 真のときに実行

このコードを実行すると、以下のような出力が得られます。

xはゼロです

以上が、Pythonで条件分岐するコードの簡単な例です。Pythonでは、インデント(字下げ)でブロック(処理のまとまり)を表現します。インデントはスペース4つ分で統一することが推奨されています。インデントを揃えないと、エラーになることがあります。

chatgpt

【else if】ではなく【elif】と書くようですね。

見慣れないコードだったので・・・

説明を詳しく読むまでは???でした。

とても覚えられません。

スポンサーリンク

エクセルで条件分岐処理を実行してみる

では、実際にエクセルで条件分岐処理を実行してみます。

コードは次のとおりです。

import openpyxl

wb = openpyxl.Workbook()

# ワークシートの有効化
ws = wb.active

# セル"A1"に数値"10"を入力する
ws["A1"].value = 10

# セル"A1"の値に応じてセル"B1"に判定結果を入力する
if ws["A1"].value == 10:
        ws["B1"].value = "10です"
elif ws["A1"].value > 0:
        ws["B1"].value = "正の値です"
else:
        ws["B1"].value = "負の値です"

# wb2 を保存する
wb.save("F:\\python_work\\excel_test4.xlsx")

このコードで・・・

セル【A1】に10を入力して、

セル【B1】で・・・正か負か10かを判定しています。

条件分岐と繰り返し処理を同時にやってみる

スポンサーリンク

続いて先日勉強した繰り返し処理と条件分岐を合わせてやってみます。

コードの内容は・・・

ブログランキングにご協力ください!
ブログランキング・にほんブログ村へ

A列に【-10から+10】の値を繰り返し処理で入力し・・・

さらに・・・

B列に【正 or 負 or 0 or -10 or 10】かを判定させます。


import openpyxl

wb = openpyxl.Workbook()

ws = wb.active

# ataiに"-10"を代入
atai = -10

# 繰り返し処理 A列に"-10"から"+10"を入力
for count in range(1,22):
        ws["A" + str(count)] = atai

        # A列の値に応じてB列に判定結果を入力する
        if ws["A" + str(count)].value == -10:
                ws["B" + str(count)].value = "-10です"
        elif ws["A" + str(count)].value < 0:
                ws["B" + str(count)].value = "負の数値です"
        elif ws["A" + str(count)].value == 0:
                ws["B" + str(count)].value = "0です"
        elif ws["A" + str(count)].value < 10:
                ws["B" + str(count)].value = "正の数値です"
        else:
                ws["B" + str(count)].value = "10です"

        atai = atai + 1 

# wb を保存する
wb.save("F:\\python_work\\excel_test5.xlsx")

いちおうこれで思ったとおりに動きました。

今日はここまで・・・

次は何をしましょうか・・・

たった、これだけですが・・・

疲れました。

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

コメント

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