[[20231113092614]] 『塗りつぶしの有無で計算式を変えたい』(あんぽんたん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『塗りつぶしの有無で計算式を変えたい』(あんぽんたん)

いつも大変お世話になっております。

下記のような表で塗りつぶしがある場合は計算式A、無い場合はBのように
計算式の使い分けを自動で出来るようにしたいのですが

条件付き書式、又は関数で行うことはできるのでしょうか?

出来るのであれば、ご教授お願い致します。

●:塗りつぶし有
〇:塗りつぶし無

A  | B
〇  |式B
●  |式A
●  |式A
〇  |式B



< 使用 Excel:Microsoft365、使用 OS:Windows11 >


IF関数を使う。
Excelの教科書3ページ目を参照のこと。

(まずは自分で) 2023/11/13(月) 09:46:48


まずは自分で様
ご返信ありがとうございます。

説明不足で大変申し訳ございません。
セルの塗りつぶしがある場合に計算式を変えたいと考えています。

塗りつぶしがある場合という計算式が分からず質問いたしました。

IF(A1=???、式A、式B)
     ↑ここが分からない
(あんぽんたん) 2023/11/13(月) 10:08:11


○と●と書かれたら、ひょっとして、文字種の違いなのかな?と思いますね。

さて、エクセルの標準関数で色を判定とかはできないと思います。
やるとしたら、vbaで色を判定する関数を作れば良いかと思います。
また、計算まですべて、vbaでやってしまうという方法もあります。

後者については、以下を参照してください。
https://watapipi.com/cell_color/
(ゆたか) 2023/11/13(月) 10:12:36


 ちょっと確認

 その塗りつぶしというのはどうやってるんですか?
 条件付き書式? それとも手動?

 条件付き書式なら、そのルール内容を具体的に
 手動なら、どういう基準で塗りつぶしているのかを説明して下さい。

 以上
(笑) 2023/11/13(月) 10:21:06

Option Explicit

Function IsColored(r As Range) As Boolean

    If r.Interior.ColorIndex = xlNone Then
        IsColored = False
    Else
        IsColored = True
    End If
End Function

背景色がついているかどうかだけを返す関数です。

シート上では

=If(IsColored(A1),色がついているときの処理、色がついていないときの処理)

とします。

色を変えたタイミングで自動再計算はされませんので注意してください。

※条件付き書式で色つけているだけならFalseが返ります
(ゆたか) 2023/11/13(月) 11:41:46


 あきらめたんですかね?

 塗りつぶしを条件付き書式でやってるのなら
 その条件を IF 関数の条件にすればいいだけです。

 手動でやってる場合でも何か基準があるんでしょうから
 それを条件にすればできるでしょう。
 塗りつぶし自体も条件付き書式でやればいいと思いますけど。

 以上、参考まで
(笑) 2023/11/13(月) 13:57:26

ゆたか様

ご返答ありがとうございます。

返答が遅くなりました。

説明不足でご迷惑をおかけしました。
すみません。

やはりVBAしかないですかね。。。
(あんぽんたん) 2023/11/13(月) 17:53:25


笑様

ご返答ありがとうございます。
返答が遅くなりました。

手動で設定しています。
条件としては業務内用での塗りつぶしでした。
(あんぽんたん) 2023/11/13(月) 18:00:53


4.0マクロ関数を使えばできそうです
ちょっと複雑なのでリンク先を読んで
http://miyahorinn.fc2web.com/faq/faq030.html

正式サポートされていないためMicrosoft365で動くかはわかりません
Excel2016では 背景色を変えた時ではなく、どこかの数式が変更されたときに変わりました

(エリス) 2023/11/13(月) 18:40:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.