• 締切済み

スプレッドシートの文字の色判定

スプレッドシートを使っているのですが、文字の色を判定したいのです。 例えば「A1」のセルに入力されている文字が、赤なら「1」黒なら「2」などの判定ができるような関数を作る事はできますでしょうか? 別に判定結果は「1」や「2」でなくても構いません。 何をしたいかというと、IF関数を使って文字の色の判定結果によって別のセルの内容を「表示させる」か「表示させないか」の振り分けをしたいのです。 関数名を例えば「FontColor」などにして、「A2」に =IF(FontColor(A1)=1,"",何かしらの関数)のようにできないものかと思っております。 宜しくお願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

基本的にマクロなどを活用して「ユーザー定義関数」を利用することになりますが、もうちょっと具体的に、ご利用のスプレッドシートの「ソフト名」と「バージョン」によって、できるものもあれば出来ないものもあります。 またしばしば問題になるのは >赤 あなたが実際に使っているスプレッドシートによって「赤」だったり「なんちゃって赤」が使われてたりすると、これはお手上げになりますね。 もひとつ、これはエクセルの場合に固有の問題として、 >文字の色を判定したい マクロを使い、文字色を取得するユーザー定義関数を利用する方法は、ちょっと調べれば簡単にヒットします。 (今現在のマクロを使う方法と、古いマクロを使う方法と2つが見つかりますので探してみて下さい) ただいずれの方法にしても、通常の関数とは違って「文字色を塗り替えた」だけでは関数は反応しないという、絶対の制限があります。これを回避する方法はありません。 エクセルの場合では、色を変更した(たとえば文字色を赤くした)あと、(具体的なマクロに応じて適切な方法で)明示的に再計算を走らせないと、正しい結果を得られません。 以上のような状況を踏まえて、具体的な状況と何をしたいのかを添えて、改めてご相談を投稿し直してみて下さい。ちょこちょこっと「補足」で書き足してもダメですから。

sea_line
質問者

お礼

ありがとうございました。 別の方法を考えてみます。

関連するQ&A