Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Ultimate : Excel 2010)
文字列を検索して、別の列に数字を挿入
投稿日時: 17/06/06 10:55:09
投稿者: gorby

  A     B      
 1  0   YAMAHA AB:X012 PP
  2  1   NOT SSS AB555:Y7000 QQQ
  3  0   KAJKL187 YAMAHA
   
 B列の文字列の左端にNOT SSSという文字がある場合に、A列に数字の1、そうでない場合に0を入れるExcel関数を教えてください!

回答
投稿日時: 17/06/06 12:09:09
投稿者: さぽた

A1に
=IF(LEFT(B1,7)="NOT SSS",1,0)
という式を入れ、下にコピーしてはいかがでしょう。

回答
投稿日時: 17/06/06 14:04:51
投稿者: Mike

=IFERROR(FIND("NOT SSS",B1),0)
別解
=(LEN(B1)-LEN(SUBSTITUTE(B1,"NOT SSS",""))>0)*1

回答
投稿日時: 17/06/06 14:11:27
投稿者: Mike

別解
=1-ISERROR(FIND("NOT SSS",B1))

回答
投稿日時: 17/06/06 14:16:03
投稿者: Mike

別解
=1-ISERR(FIND("NOT SSS",B1))

回答
投稿日時: 17/06/06 20:58:46
投稿者: sy

こんばんわ。
 

A1 =COUNTIF(B1,"NOT SSS*")
下にフィルコピー

回答
投稿日時: 17/06/07 00:51:38
投稿者: Mike

この場を借りて、syさんに質問させてください。

sy さんの引用:
A1 =COUNTIF(B1,"NOT SSS*")
上式が 1 を返すなら、
式 =B1="NOT SSS*"
は TRUE を返しても良さそうに思えるのですが、実際は FALSE です。
なぜなのか教えてください。

回答
投稿日時: 17/06/07 07:21:01
投稿者: sy

Mikeさん
 
COUNTIFはワイルドカードが使えます。
なので "NOT SSS*" の場合は前方一致でマッチします。
 
ですが、B1= などの直接比較ではワイルドカードは使えません。
NOT SSS* と言う文字(*も文字として扱われる)と比較する事になるのでFALSEになります。

回答
投稿日時: 17/06/07 10:37:14
投稿者: Mike

sy さんの引用:
B1= などの直接比較ではワイルドカードは使えません
不思議に思っていましたが、そういうことだと、私に取っての謎が解けてスッキリしました。
ありがとうございました。

トピックに返信