• 締切済み

エクセル 条件付き書式で文字を表示するには

セルA1~A100までに「有1」、「有2」、「有3」を不規則に打ち込んでいます。(空欄もあり) これを条件書式を用いて、セルA1~A100に「有1」、「有2」、「有3」があれば、それぞれのセルに「有給」として表示するにはどうすればよいでしょうか?

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 本来であれば元データが消えてしまうので別セル表示が一番良いと思うのですが・・・ どうしてもというコトであれば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)
回答No.3

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)
回答No.2

ご利用のエクセルのバージョンが不明です。ご相談投稿ではご利用のソフト名だけでなく,必ずご利用のソフトのバージョンまでキチンと明記することを憶えてください。 Excel2003以前を使っているときはできません。 出来る方法: Excel2007以降を使う 範囲を選び,条件付き書式でセルの強調表示から文字列を開始 次の文字列を含むセルを書式設定 有1 の時にユーザー設定の書式で表示形式を G/標準;-G/標準;G/標準;"有給" と設定する 更に同じ範囲に条件付き書式を重ね掛けし,"有2","有3"にも G/標準;-G/標準;G/標準;"有給" を設定する。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

それって、書式じゃないから無理。 普通にマクロを組んで処理をするか、置換で処理しましょう。 置換なら、  検索文字列を「有1」置換後文字列を「有給」にして置換を実行  検索文字列を「有2」置換後文字列を「有給」にして置換を実行  検索文字列を「有3」置換後文字列を「有給」にして置換を実行 と、3回行えばOK。

関連するQ&A