質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

587閲覧

if文で条件分岐をうまくさせたい

tktkcompany

総合スコア4

openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/26 01:31

編集2021/06/26 02:29

前提・実現したいこと

pythonでExcelシートからほかのExcelシートに転記するコードを作成しております。
if文がうまく機能していないようなのですがそれがなぜなのかがわかりません。

発生している問題

ソースコード3行目
変数が60の時に3行目のif文に該当してしまいます。
Excelの60行目なので、elseの場合の処理に行くようにしたいです。

該当のソースコード

◆python

for j in range(1,3): for m in range(12,63,3): if str(wb2.worksheets[j].cell(m, 1).value) in "在庫僅か" or str(wb2.worksheets[j].cell(m, 1).value) in "在庫あり": wb2.worksheets[0].cell(k, a).value = wb2.worksheets[j].cell(m-2, 1).value a=a+1 elif wb2.worksheets[j].cell(m, 1).value == "在庫なし" : a=a+1 else: a=1 k=1 コード

◆Excelシート

"西尾 了一 著旭屋出版  2021年05月"
価格(税込):4,730円ISBN:4-7511-1436-0JANコード:9784751114360カテゴリ:婦人実用

「全店在庫無し。出版社取寄品」に関しては、在庫の保証ができませんので予めご了承ください。
SuperKaBoS新二の宮店TEL:0776-27-4678店舗情報を見る在庫なしKaBoSベル店TEL:0776-34-1752店舗情報を見る在庫なしSuperKaBoSワッセ店TEL:0776-33-5234店舗情報を見る在庫なしSuperKaBoS大和田店TEL:0776-57-2188店舗情報を見る在庫なしカボスプラスゲオ三国店TEL:0776-82-3377店舗情報を見る在庫なしSuperKaBoS鯖江店TEL:0778-53-1755店舗情報を見る在庫なしSuperKaBoS武生店TEL:0778-21-1555店舗情報を見る在庫なしSuperKaBoS敦賀店TEL:0770-21-4455店舗情報を見る在庫なしKaBoSMEGAドン・キホーテUNY敦賀店TEL:0770-24-2766店舗情報を見る在庫なし大野店TEL:0779-65-0130店舗情報を見る在庫なしKaBoS勝山店TEL:0779-89-2113店舗情報を見る在庫なしKaBoSイオンモール新小松店TEL:0761-23-2812店舗情報を見る在庫なしKaBoS宮前平店TEL:044-870-1221店舗情報を見る在庫なしKaBoS藤沢店TEL:0466-30-5744店舗情報を見る在庫なしKaBoSららぽーと柏の葉店TEL:04-7168-1760店舗情報を見る在庫なしKaBoSららぽーと新三郷店TEL:048-950-1005店舗情報を見る在庫僅か
SuperKaBoS新二の宮店
店舗情報を見る
在庫なし
KaBoSベル店
店舗情報を見る
在庫なし
SuperKaBoSワッセ店
店舗情報を見る
在庫なし
SuperKaBoS大和田店
店舗情報を見る
在庫なし
カボスプラスゲオ三国店
店舗情報を見る
在庫なし
SuperKaBoS鯖江店
店舗情報を見る
在庫なし
SuperKaBoS武生店
店舗情報を見る
在庫なし
SuperKaBoS敦賀店
店舗情報を見る
在庫なし
KaBoSMEGAドン・キホーテUNY敦賀店
店舗情報を見る
在庫なし
大野店
店舗情報を見る
在庫なし
KaBoS勝山店
店舗情報を見る
在庫なし
KaBoSイオンモール新小松店
店舗情報を見る
在庫なし
KaBoS宮前平店
店舗情報を見る
在庫なし
KaBoS藤沢店
店舗情報を見る
在庫なし
KaBoSららぽーと柏の葉店
店舗情報を見る
在庫なし
KaBoSららぽーと新三郷店
店舗情報を見る
在庫僅か

paypay使えますdPOINT使えますQUOカード使えます

ホーム店舗情報お知らせ在庫検索検索の使い方ネット注文週間ベストセラー自費出版リクルートサイトマップリンク集お問い合わせ
SuperKaBoS新二の宮店KaBoSベル店SuperKaBoSワッセ店SuperKaBoS大和田店カボスプラスゲオ三国店福井大学医学部売店SuperKaBoS鯖江店SuperKaBoS武生店SuperKaBoS敦賀店KaBoSアピタ敦賀店KaBoS大野店KaBoS勝山店
KaBoSイオンモール新小松店【北国書林】松任店【北国書林】アピタ松任店【北国書林】アルプラザ店【北国書林】辰口店【きくざわ書店】ナッピィモール店【きくざわ書店】アルプラザ鹿島店
KaBoS宮前平店KaBoS藤沢店KaBoSららぽーと柏の葉店KaBoSららぽーと新三郷店
本部(管理本部・営業本部)外商部

試したこと

vscodeでデバッグを実行後変数mが60の時に一番上のif文に該当してしまう。

####
プログラミング初心者ですが回答いただけますと幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/06/26 02:12

コードは「コードの挿入」で記入してください。(インデントが判りません)
tktkcompany

2021/06/26 02:30

コードの挿入の使い方のご教授ありがとうございます。 なにかわかりましたらご回答宜しくお願い致します。
guest

回答2

0

自己解決

検索条件を  「or」 から 「==」 にして完全一致にさせたら解決しました。。
回答いただきました方ありがとうございました。

投稿2021/06/26 06:43

tktkcompany

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

データの何行目なのかが良くわかりませんが、

少なくとも、

if str(wb2.worksheets[j].cell(m, 1).value) in "在庫僅か" or str(wb2.worksheets[j].cell(m, 1).value) in "在庫あり":

は変ですね。
以下を見て考えてみてください。

python

1>>> print("いっぱい在庫有り" in "在庫あり") 2False 3>>> print("" in "在庫あり") 4True

投稿2021/06/26 02:37

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問