- 締切済み
エクセル 条件付き書式で文字を表示するには
セルA1~A100までに「有1」、「有2」、「有3」を不規則に打ち込んでいます。(空欄もあり) これを条件書式を用いて、セルA1~A100に「有1」、「有2」、「有3」があれば、それぞれのセルに「有給」として表示するにはどうすればよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 本来であれば元データが消えてしまうので別セル表示が一番良いと思うのですが・・・ どうしてもというコトであればVBAでの一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてA1~A100セルにデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Intersect(Target, Range("A1:A100")) Is Nothing Or Selection.Count <> 1 Then Exit Sub If StrConv(Target, vbNarrow) Like "有" & "[1-3]" Then Target = "有給" End If End Sub 'この行まで ※ すでにデータが入っているてそれを変更したい場合のコードは↓になります Sub 変換表示() 'この行から Dim i As Long For i = 1 To 100 If StrConv(Cells(i, 1), vbNarrow) Like "有" & "[1-3]" Then Cells(i, 1) = "有給" End If Next i End Sub 'この行まで この場合はAlt+F8キー → マクロ → マクロ実行で操作してみてください。 こんなんで参考になりますかね?m(_ _)m
- imogasi
- ベストアンサー率27% (4737/17069)
2003までは3種類しか条件付書式でセルに色などつけられない。 それと文字列が「有1」なら「有給」と表示するのは「条件付き書式」というエクセルの考えの範疇ではないのではないか。 単なる表示形式でも、1なら「有」、0なら「無」ぐらいはできるが、多種類では出来ない。またセルの値が数値である場合だ(下記注) http://excel2010.life.coocan.jp/index/indexcell_disp_skoron_j.html (1)正負おによる表示形式を変える (2)文字に色を着ける。但しセルの数値の大小を問題にする。文字列の中では判別が出来ない だから不可能と思う。 色々やってみたが本質問のパターに合うものが無い。 ーーー むしろ置換でセルの値を変えてしまってはダメなのか(元列のデータは残し、隣列にコピーしてそちらで置換するとか) ーー (注)A列セルに 1 1 0 1 とあるとする。表示形式の「ユーザー設定」で [=1]"有";"無" と設定する。 結果 見た目は 有 有 無 有 セルの値は元のままの1や0。 ーー エクセルの表示形式は、セルの値が数値のセルが中心なんだ(VBAではNumberFormatというぐらいだ)。文字列は添え物。ほとんど色々に出来ない。
- keithin
- ベストアンサー率66% (5278/7941)
- Cupper-2
- ベストアンサー率29% (1342/4565)
それって、書式じゃないから無理。 普通にマクロを組んで処理をするか、置換で処理しましょう。 置換なら、 検索文字列を「有1」置換後文字列を「有給」にして置換を実行 検索文字列を「有2」置換後文字列を「有給」にして置換を実行 検索文字列を「有3」置換後文字列を「有給」にして置換を実行 と、3回行えばOK。