- ベストアンサー
数字を含まないセルに色づけする
数字を含まないセルに色づけしたいのですが、 条件付書式でできるでしょうか? ちなみに数字が含まれていたら、 漢字が入っていても記号が入っていても良しとします。 宜しくお願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
条件付き書式だけでは、出来ないようです。 セルA1に文字列があるとして セルに数字が含むかは、下記の数式で出来ます。 =ISERR(FIND({1,2,3,4,5,6,7,8,9,0},A1)) 有れば『TRUE』を、無ければ『FALSE』を返します。 しかし、条件付き書式には、配列定数が使えません。 配列定数:{}で括られた引数 従って、セルB1に入力して、セルA1を選択して、 「条件付き書式」で「セルが」を「数式が」して、条件式を =B1=TRUE() として、書式を好みに設定すれば、出来ます。 参考になれば幸いです。
その他の回答 (6)
- pauNed
- ベストアンサー率74% (129/173)
>#1さんの方法で解決いたしました。 ...解決されたのであれば、良いのですが 判定セルに 1 が含まれていなければ色づけされてしまいますよ? B1を作業列として使うなら =AND(ISERR(FIND({1,2,3,4,5,6,7,8,9,0},A1))) 作業列も名前も使わないなら A1が判定セルだとして条件付きの数式を =AND(A1<>"",INDEX(ISERR(FIND(ROW($A$1:$A$10)-1,A1)),0)) C1が判定セルの場合は =AND(C1<>"",INDEX(ISERR(FIND(ROW($A$1:$A$10)-1,C1)),0)) FINDの中のROW($A$1:$A$10)-1は{0,1,2,3,4,5,6,7,8,9}を得るためですから アドレス$A$1:$A$10は固定です。 (単に配列定数や配列数式を避けただけです)
- pauNed
- ベストアンサー率74% (129/173)
#3 >#4 >#5 はて? 一応『A1セルを選択して』とは書いておきましたが、 アドレス参照がうまくいってないのかもしれませんね。 [名前][定義]で選択セル参照になっているか確認してみられてはいかがでしょう。 もしくは[条件付き書式]で A1 としましたが、 そこはアクティブなセルのアドレスにする必要があります。 >質問者さんへ。 主旨は、『[名前の定義]って便利ですよ』 です。配列を扱う時にも役に立ちます。 ついでですが、全角数字の扱いによっては、ASC関数を使えば良いです。 また、逆に数字が何種類含まれているか判定する方式で chk=SUM(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)))*1) として =AND(A1<>"",chk=0) でも。
お礼
解決いたしました。 ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17069)
#4です。すみません#2のご回答と書いてしまったのは、#3のご回答の方です。 #2(Wendy02さん)、#3(pauNedさん)さんに、お詫びいたします。 「配列を使えない」というのも、#1に書いておられますね。すみません。
- imogasi
- ベストアンサー率27% (4737/17069)
#2のご回答は、テストデータ各行みんな色が付きました。 私のテストミスなら#2さん、まことにすみません。お詫びします。 式が、でSUMPRODUCTを直接入れると、配列は使えないとエラーが出ますね。 ーー #1と組み合わせて、 書式ー条件付き書式ー式が、で =AND(A1<>"",Findnum(A1)) 色指定 OK が良さそうかと。
お礼
解決いたしました! ありがとうございました!
- pauNed
- ベストアンサー率74% (129/173)
こんにちは。 [名前の定義]と[条件付き書式]を組み合わせて使ってはいかがでしょう。 A1セルを選択して、[Ctrl]キー押しながら[F3]キー。 [名前の定義]ウィンドウの[名前]に chk と入力。 同じく[参照範囲]に =SUM(ISERR(FIND({1,2,3,4,5,6,7,8,9,0},A1))*1) と入力して[OK]。 チェックしたいセル範囲を選択して、 [条件付き書式][数式が▼] =AND(A1<>"",chk=10) で設定します。 (空欄セル除外が必要なければ =chk=10 )
お礼
#1さんの方法で解決いたしました。 どうもありがとうございました!
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >数字が含まれていたら、漢字が入っていても記号が入っていても良しとします。 「良し」とするという意味が、少し分かりにくいですが、たとえ、記号があっても、数字が入っていたら、条件は、False とするなら、私はなら、こんな風にします。 Alt + F11 -> Alt + I -> M 標準モジュールに、以下を貼り付けます。(全角は入りません) Function FindNum(rng As Range) As Boolean If Not rng.Value Like "*#*" Then FindNum = True End Function Alt + Q A1 にカーソルを置く 書式 -条件付き書式 数式が =FINDNUM(A1) パータン-色づけ
お礼
すみません。 私には少しレベルが高かったようです・・・ 勉強します!
お礼
ありがとうございます! 解決いたしました!