範囲内の条件に合致するセルの書式変更
2022-10-26 16:38
質問失礼します。
例えば、A1:A50の範囲内の各セルに、”リンゴ”、”ブドウ”、”ナシ”がランダムに入っていて、”リンゴ”が入っている行以外のB1:B50の書式を変更したい場合、どういう風にアクションを作成すれば実装できるか教えていただけますでしょうか。
もし可能であれば、可変する範囲でのアクションの作成方法を教えて頂けるとありがたいです。
回答を投稿するにはログインが必要です。
日本コンピュータシステム(CELFチーム)
パートナー
ベストアンサー
追記:リストの行の範囲が可変でも対応可能な仕組みも考えてみました。
1枚目の画像がアクションを実行後の画面の様子です。
2枚目の画面がアクションの内容になります。
簡単に内容を解説しますね。
アクション内部では名称の列に判定したい文字が入っていると仮定し
名称の列を上から順に確認して、空ではない限り繰り返すようにしています。
→アクション2行目の=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))<>""
繰り返しの内部では、上から処理位置の名称で条件に当てはまるか判定を行い
条件が真であればその隣の列のセル書式を変更しています。
→アクション3行目の=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))="ナシ"
アクションではナシとブドウの条件で色を分けるために名称列の
処理位置のセル内容がナシかブドウかを判定していますが、
「リンゴ以外は同じ書式に変更する」のでしたら繰り返しの中での判定を
=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))<>"リンゴ"
とすることで、処理位置行の名称列のセルがリンゴでない場合に
書式を変更するということも可能です。
ただし、1名目の画像の通り空のセルがある場合はそこを最終行と認識して
繰り返しから抜けてしまいます。
1枚目の画像がアクションを実行後の画面の様子です。
2枚目の画面がアクションの内容になります。
簡単に内容を解説しますね。
アクション内部では名称の列に判定したい文字が入っていると仮定し
名称の列を上から順に確認して、空ではない限り繰り返すようにしています。
→アクション2行目の=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))<>""
繰り返しの内部では、上から処理位置の名称で条件に当てはまるか判定を行い
条件が真であればその隣の列のセル書式を変更しています。
→アクション3行目の=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))="ナシ"
アクションではナシとブドウの条件で色を分けるために名称列の
処理位置のセル内容がナシかブドウかを判定していますが、
「リンゴ以外は同じ書式に変更する」のでしたら繰り返しの中での判定を
=INDIRECT(ADDRESS(処理位置,COLUMN(名称),4))<>"リンゴ"
とすることで、処理位置行の名称列のセルがリンゴでない場合に
書式を変更するということも可能です。
ただし、1名目の画像の通り空のセルがある場合はそこを最終行と認識して
繰り返しから抜けてしまいます。
日本コンピュータシステム(CELFチーム)
パートナー