[[20190304135021]] 『条件付き書式か、別の列を挿入して計算する』(KOTORI) ページの最後に飛ぶ

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

 

『条件付き書式か、別の列を挿入して計算する』(KOTORI)

こんにちは。

早速ですが、
英字が2桁以上3桁以内でその後ろに数字が4桁以上の場合、「AS列の背景を赤色」もしくは「AX列に×」を表示させたいのですが、可能でしょうか?
数字と英字が全角になっているものもあります。

	AS列	
1	題名
2	5105森森
3	5105森森	
4	GS250427  赤色になる
5	5-10森	
6	QY13176	  赤色になる
7	VS230427	   赤色になる
8	ZT0817688	   赤色になる
9	ZYZ03070M	   赤色になる
10	森森tanaka森	

現在は、英字がヒットしたときに、背景を赤にしています。
英字が増えた場合に、条件を作成しています。

GSを含む場合→背景赤
ZTを含む場合→背景赤
ZYZを含む場合→背景赤
VSを含む場合→背景赤

よろしくお願い致します。

< 使用 Excel:unknown、使用 OS:Windows7 >


 すみません冗長ですがマクロを使っての案しか思いつきませんでした。

 ユーザー定義関数です。
 Public Function ChrDtm(Rec As String) As Boolean
    Dim i As Long
    Application.Volatile
    Rec = StrConv(Rec, vbNarrow)
    For i = 1 To Len(Rec)
        If Mid(Rec, i, 7) Like "[a-zA-Z]" & "[a-zA-Z]" & "[a-zA-Z]" & "[0-9]" & "[0-9]" & "[0-9]" & "[0-9]" Or _
            Mid(Rec, i, 6) Like "[a-zA-Z]" & "[a-zA-Z]" & "[0-9]" & "[0-9]" & "[0-9]" & "[0-9]" Then
            ChrDtm = True
            Exit For
        End If
    Next i
 End Function

 適用先「=$AS$2:$AS$10」で条件付き書式の「数式を使用して〜」に「=ChrDtm(AS2)」として背景色を赤で。
(ろっくん) 2019/03/04(月) 14:46

被りましたが、マクロでユーザー定義関数を作成し、シートからこれを利用するのが良さそうです。
まず、標準モジュールに以下を貼ってください。
 Function aaa(cOrg As String) As Boolean
    Dim cw As String

    cw = StrConv(cOrg, vbNarrow Or vbUpperCase)
    If cw Like "[A-Z][A-Z][A-Z]####*" Or _
       cw Like "[A-Z][A-Z]####*" Then
        aaa = True
    Else
        aaa = False
    End If
 End Function

シートの方は、例えば×表現(○×逆の気がしますが…)は以下のようにします。

 AX2: =IF(aaa(AS2),"×","")

条件付き書式の場合は、以下ですね。

 =aaa($AS2)
(???) 2019/03/04(月) 14:47

 作業列を2列使う。
 例えばAT2セルに
 =IFERROR(MATCH(1,INDEX((MID(A2,ROW($1:$4),1)<"a")+(MID(A2,ROW($1:$4),1)>"z"),0),0)-1,0)
 と入力。 
 これは先頭から英字が何文字続いているかを示す。
 (ただし4文字以上は4)
(ねむねむ) 2019/03/04(月) 14:52

 次にAU2セルに
 =IFERROR(MATCH(1,INDEX(ISERROR(MID(REPLACE(A2,1,C2,""),ROW($1:$4),1)*1)*1,0),0)-1,4)
 と入力。
 これは数値のひと固まりが何桁あるかを示す。
(ねむねむ) 2019/03/04(月) 14:54

 すまない、上の二つの式内のA2はAS2としてくれ。
 で、AX2セルに
 =IF(AND(OR(AT2=2,AT2=3),AU2=4),"×","")
 で。
(ねむねむ) 2019/03/04(月) 14:56

皆さま
コメントありがとうございます。

ご返信が遅くなり申し訳ございません。
マクロが得意ではなく、(ぬむねむ様)の式を利用させていただきます。<m(__)m>
(ろっくん様)(???)
せっかく作っていただいたのに申し訳ありません。

ありがとうございました<m(__)m>

(KOTORI) 2019/03/04(月) 20:21


コメント返信:

[ 一覧(最新更新順) ]


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