[[20051112121609]] 『条件付書式と関数について』(まる9) >>BOT

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

 

『条件付書式と関数について』(まる9)

またまたお世話になります。m(_ _)m

 半角英数字の組み合わせ(入力例:MFD3S3021547)を入力し、ある特定の文字列が検出された場合のみ
 フォントの色や太さを自動変換できるように設定したいのです。
 FINDやSEARCH関数で、どうにか一つの文字列を検出させることはできたのですが、
 複数の文字列を検索候補にすることが、私にはできませんでした。
 (カンマとかの記号で追記できると思ったのですが・・・断念)
 検出したい文字列の候補が複数あるため、 いっそ別シートにまとめるつもりです。

 そこで、「セルに入力された文字列の中に、
 「別シートのA列にある文字が一つでも含まれた場合、指定されたフォントや色に変換させる」
 ※文字列に関係なく、フォント等の変換は一種類のみ
 という条件付書式の数式のアイディアをお願いします。
 (エクセル2002、WindowsXpです)

 リストは作成されたほうがいいですよ。
対象文字列のリストが「list」と言うシートのA1:A3に入力されていて
条件付書式をA1に設定するとして、
「数式が」「=COUNTIF(INDIRECT("list!$A$1:$A$3"),A1)」
 
【参考】
[[20050725110942]] 『在庫場所の空〜塗りつぶし〜』(初心者18) 
[[20050726084509]] 『別シート参照』(みやほりん)
(みやほりん)


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

 上記方法の条件は、先頭一致のみなのでしょうか?
 たとえば、リスト中の文字列が「FD」だとすると、
 「FD****」や「***FD***」「*****FD」でも満たすように、
 条件を「含まれるとき」にしたいのです。

よろしくお願いします。(まる9)


 上記参考部分の、LOOKUPさんの数式を拝借するとして、、、

 =COUNTIF(INDIRECT("Sheet1!$D$1:$D4"),"*"&A1&"*")

 等とすると、まる9さんの仰っている条件に当てはまりませんか?

 (キリキ)(〃⌒o⌒)b

回答ありがとうございます。
(遅くなってすみません)

 ↑幾度となく試したのですが、うまくいかないのです・・・・
 D1〜D4に抽出文字列を入力しておいて、A1に条件付書式設定してみたのですけど、
 たとえば、
        A           B   C  D 
 1(キリキさんの数式以下↓コピー)       FD  
 2 MFDS11                   FC
 3 MFA111
 4 FC1221
 5 CFF0214
 6 FD
 この場合、変化するのはA6のみ
 希望としては、A2、A4も変化して欲しい

 すみません、お願いします。


 横から失礼します。

     A  B  C  D  E        F
 1         FD    MFD3S3021547
 2         FC
 3               S3
 4               222
 5               215
 6               3

 この状態で、セルA1をクリックし、書式→条件付書式から、”数式が”を選択し、数式に、
 =COUNTIF(INDIRECT("F1"),"*"&D1&"*")
 を入力し、書式の色等を変更。これをA6までコピーしてみてください。

 みなさんが仰っているのは、これだと思うんですが。

 (ken)

(ken)さん、返答ありがとうございます。

 私の状況説明が不十分で、大変申し訳ないのですが、
 A列に「MFD3S021547」のような半角英数字の文字列を入力していく予定です。
 割と不規則な半角英数字の文字列を入力し続ける中で、
 ある特定の半角英数字の組み合わせを含んだとき、その入力したセルの書式を変化させたいと思います。
 (↑上記の場合、D列に抽出したい文字列を入れてしまいましたが、別シートにするつもりです。)
 (ken)さんの通りに実行すると、A1に何を入力しても変化してしまうのですが、私のどの手順が間違えているのかすらわかりません。

 ホント、お手数おかけします。(まる9)

 最初の質問からは「部分一致したものの検索」は読み取れませんでした。
私の紹介した数式は完全一致するリストである場合のものです。
(ちなみにINDIRECT関数はチェックのためのリストが別シートにある場合の
対策で、同じシートならINDIRECT関数使う必要はありません)
一例として下記を挙げます。
「数式が」「=SUMPRODUCT((LEN(SUBSTITUTE(A1,$D$1:$D$3,""))<>LEN(A1))*1)」
これが、別シートにリストを設定する場合には
(例えばlistと言うシートのA1:A3の場合は)数式を
=SUMPRODUCT((LEN(SUBSTITUTE(A1,INDIRECT("list!$A$1:$A$3"),""))<>LEN(A1))*1) 
とします。(みやほりん)


↑完璧でした。いろいろお手数お掛けしました。ありがとうございました。(まる9)

コメント返信:

[ 一覧(最新更新順) ]


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