- ベストアンサー
EXCEL2003 条件付き書式で
EXCEL2003 条件付き書式で エクセル2003を使用しています A列とB列に文字列あり、A列の文字がB列に含まれる(完全一致ではない)場合にセルの色を変えたいのですが、どうすればいいでしょうか?ちなみにA列は2123列でB列は12105列です。よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 一例です。 C列を作業用の列として使います。 データは1行目からあるとして・・・ C1セルに =IF(OR(ISNUMBER(FIND($A$1:$A$2123,B1))),1,"") (数式内の $A$1:$A$2123 部分はA列のデータ範囲にします。空白セルは含んではいけません) これは配列数式になってしまいますので、Shift+Ctrl+Enterキーで確定! この画面からコピー&ペーストする場合はC1セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 そしてC1セルのフィルハンドルでダブルクリック! これでB列セル内にA列データが含まれる行に「1」が表示されるはずです。 B列すべてを範囲指定 → 書式 → 条件付書式 → 「数式が」を選択 → 数式欄に =C1=1 として → 書式 → パターン → 好みの色を選択しOK これで何とかご希望に近い形にならないでしょうか? 尚、作業列が目障りな場合はC列を非表示にするか遠く離れた列に作業列を設けます。 ただし、作業列を離れた列に設ける場合は ダブルクリックでオートフィル操作ができませんので、 B列データがある最終行までオートフィルでコピーする必要があります。 参考になりますかね?m(_ _)m
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のようなマクロによって対応するのがよいでしょう。 該当のシート見出しを右クリックして「コードの表示」の画面に次のコードを入力します。 Sub 条件付き書式() Dim i, n As Long For i = 1 To 2200 If Cells(i, 1) = "" Then Exit For For n = 1 To 13000 If Cells(n, 2) = "" Then Exit For With Cells(n, 2) Set x = .Find(Cells(i, 1), LookIn:=xlValues, LookAt:=xlPart) If Not x Is Nothing Then .Interior.ColorIndex = 3 End If End With Next Next End Sub 実行するにはAltキーを押しながらF8キーを押します。 条件付き書式を選択して実行キーを押します。 かなりのデータの組み合わせを検索していきますので少しの時間が必要でしょう。
お礼
解決しました。回答ありがとうございました。また機会があればよろしくお願いします。
- keronjin
- ベストアンサー率50% (83/166)
A列の文字がB列に含まれるときにB列の色を変える、ということでよろしいでしょうか?。 1、条件付き書式を設定したいセルを選択。(B列が12105行有るなら B1~B12105 を選択) 2、選択した状態で「書式」メニューから「条件付き書式」を選びます。 3、条件1で「数式が」を選び、次の数式を入力します。 =NOT(ISERROR(SEARCH(A1,B1))) 4、「書式」ボタンをクリックして「パターン」タブでセルの背景色を指定します。 これだけで、A列の文字列を含むB列のセルには色が付くはずです。 複数行選択していてもA1,B1の数字部分は自動で割り振られます。
お礼
解決しました。回答ありがとうございました。また機会があればよろしくお願いします。
お礼
おかげで希望どうりにできました。本当にありがとうございました。