プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (1件)

基本的にマクロなどを活用して「ユーザー定義関数」を利用することになりますが、もうちょっと具体的に、ご利用のスプレッドシートの「ソフト名」と「バージョン」によって、できるものもあれば出来ないものもあります。




またしばしば問題になるのは
>赤

あなたが実際に使っているスプレッドシートによって「赤」だったり「なんちゃって赤」が使われてたりすると、これはお手上げになりますね。


もひとつ、これはエクセルの場合に固有の問題として、
>文字の色を判定したい

マクロを使い、文字色を取得するユーザー定義関数を利用する方法は、ちょっと調べれば簡単にヒットします。
(今現在のマクロを使う方法と、古いマクロを使う方法と2つが見つかりますので探してみて下さい)

ただいずれの方法にしても、通常の関数とは違って「文字色を塗り替えた」だけでは関数は反応しないという、絶対の制限があります。これを回避する方法はありません。

エクセルの場合では、色を変更した(たとえば文字色を赤くした)あと、(具体的なマクロに応じて適切な方法で)明示的に再計算を走らせないと、正しい結果を得られません。


以上のような状況を踏まえて、具体的な状況と何をしたいのかを添えて、改めてご相談を投稿し直してみて下さい。ちょこちょこっと「補足」で書き足してもダメですから。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/11/02 08:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!