アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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
    • good
    • 1

2003までは3種類しか条件付書式でセルに色などつけられない。


それと文字列が「有1」なら「有給」と表示するのは「条件付き書式」というエクセルの考えの範疇ではないのではないか。
単なる表示形式でも、1なら「有」、0なら「無」ぐらいはできるが、多種類では出来ない。またセルの値が数値である場合だ(下記注)
http://excel2010.life.coocan.jp/index/indexcell_ …
(1)正負おによる表示形式を変える
(2)文字に色を着ける。但しセルの数値の大小を問題にする。文字列の中では判別が出来ない
だから不可能と思う。
色々やってみたが本質問のパターに合うものが無い。
ーーー
むしろ置換でセルの値を変えてしまってはダメなのか(元列のデータは残し、隣列にコピーしてそちらで置換するとか)
ーー
(注)A列セルに
1
1
0
1
とあるとする。表示形式の「ユーザー設定」で
[=1]"有";"無"
と設定する。
結果
見た目は




セルの値は元のままの1や0。
ーー
エクセルの表示形式は、セルの値が数値のセルが中心なんだ(VBAではNumberFormatというぐらいだ)。文字列は添え物。ほとんど色々に出来ない。
    • good
    • 1

ご利用のエクセルのバージョンが不明です。

ご相談投稿ではご利用のソフト名だけでなく,必ずご利用のソフトのバージョンまでキチンと明記することを憶えてください。
Excel2003以前を使っているときはできません。



出来る方法:
Excel2007以降を使う

範囲を選び,条件付き書式でセルの強調表示から文字列を開始
次の文字列を含むセルを書式設定
有1
の時にユーザー設定の書式で表示形式を
G/標準;-G/標準;G/標準;"有給"
と設定する

更に同じ範囲に条件付き書式を重ね掛けし,"有2","有3"にも
G/標準;-G/標準;G/標準;"有給"
を設定する。
「エクセル 条件付き書式で文字を表示するに」の回答画像2
    • good
    • 3

それって、書式じゃないから無理。


普通にマクロを組んで処理をするか、置換で処理しましょう。

置換なら、
 検索文字列を「有1」置換後文字列を「有給」にして置換を実行
 検索文字列を「有2」置換後文字列を「有給」にして置換を実行
 検索文字列を「有3」置換後文字列を「有給」にして置換を実行
と、3回行えばOK。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A