[[20170105023207]] 『LEFT関数の使い方について』(まこ) ページの最後に飛ぶ

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

 

『LEFT関数の使い方について』(まこ)

 夜分にすいません。課題でEXCELを勉強していますが、
関数で一部教えてください。

=IF(D4<>"",IF(LEFT(D4,1)="S",OK,NG))
についてですが、2文字目が数字かどうか判断させることは可能でしょうか?

といいますのも
対象文字で途中までかぶっているところがあり、判定できないのではと
考えているからです。
=IF(D4<>"",IF(LEFT(D4,1)="S",OK,NG))
1文字目がSであればですが、対象文字にSDDもあればS12もあります。
SDDの場合はOKでS12など2文字目が数字だとNGとしたいのです。

こういうのは可能でしょうか?
まだ関数の連結が入ると???となるレベルの者です。
すいませんが、よろしくお願いします。

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


色々な書き方があると思います。一例です。

 =IF(D4="","",IF(LEFT(D4,1)="S",
                 IF(LEN(SUBSTITUTE("0123456789",MID(D4,2,1),""))=10,"OK","NG"),
                 "NG")
     )   
(γ) 2017/01/05(木) 06:26

ISNUMBERでしたか。
(γ) 2017/01/05(木) 06:38

 こんなのでもいいかもしれません。

 =IF(AND(LEN(D4)>=2,LEFT(D4,1)="S",ISERROR(VALUE(MID(D4,2,1)))),"OK","NG")

 もし、1桁の S でもOKなら

 =IF(AND(LEFT(D4,1)="S",ISERROR(VALUE(MID(D4,2,1)))),"OK","NG")

(β) 2017/01/05(木) 06:41


 ISERROR(VALUE(MID(D4,2,1)))
 は
 ISERROR(MID(D4,2,1)*1)
 でも。
(ねむねむ) 2017/01/05(木) 09:09

 ISNUMBER関数を使うと、こんな感じかなぁ・・・
=IF(D4="","",IF((LEN(D4)>1)*(LEFT(D4,1)="S")*(NOT(ISNUMBER(MID(D4,2,1)*1))),"OK","NG"))
(Hatch) 2017/01/05(木) 09:12

 =IF(D4="","",IF(AND(LEFT(D4,1)="S",COUNT(MID(D4,2,1))=0),"OK","NG"))
 とか
 =IF(D4="","",IF(OR(LEFT(D4,1)<>"S",COUNT(MID(D4,2,1))),"NG","OK"))
 とか、でも。

 LEFT 関数の第2引数(文字数)を省略すると「1」と見なされるので
 LEFT(D4,1) → LEFT(D4) でも同じこと。

 参考まで
(笑) 2017/01/05(木) 09:41

コメント返信:

[ 一覧(最新更新順) ]


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