プロが教えるわが家の防犯対策術!

エクセル2003で質問です。

1列に複数の文字列が並んで入力しています。
「ABC01」「BBC03」「ABS49」などです。

例えば前3文字アルファベット部が複数の指定した文字列を「A」「B」などに分類Aしたいのです。

「ABC01」「ABC54」など前3文字が「ABC」のものと
「BBD03」「BBD58」など「BBD」を「A」
それ以外を「1」とするという式を作りたいです。

下2桁の数字がバラバラなので"ABC*","BBD*"を使って
いろいろ試してみましたが・・・
限界です。よろしくお願いいたします。

A 回答 (3件)

>下2桁の数字がバラバラなので"ABC*","BBD*"を使っていろいろ試してみましたが・・・


左から3文字でチェックすると云うことなのでLEFT関数を使うと分かり易くなります。

=IF(OR(LEFT(A2,3)="ABC",LEFT(A2,3)="BBD"),"A",1)

IF関数の論理式にOR関数を組み込めば"ABC"または"BBD"と一致するとき"Y"と言う論法が成り立ちます。
「エクセル 複数の文字列を分別したい。」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございます。
3人の方に回答を頂き、明日、会社で試してみます。

皆さんにそれぞれベストアンサーを差し上げたいです
ありがとうございました

お礼日時:2013/10/14 21:23

セルA1から下に「ABC01」「ABC054」・・・と入力していたとして次の式で「A」か「1」を返す事が出来ます


セルB1に =IF(OR(LEFT(A1,3)="ABC",LEFT(A1,3)="BBC"),"A",1) の式を入れて下方向へ式をコピーします。

画像のバージョンはExcel2010ですが式は2003も変わりません。
「エクセル 複数の文字列を分別したい。」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。
3人の方に回答を頂き、明日、会社で試してみます。

皆さんにそれぞれベストアンサーを差し上げたいです
ありがとうございました

お礼日時:2013/10/14 21:23

以下でいかがですか?


A列にデータ、B列に下式をいれる。

=IF(LEFT(A1,3)="ABC","A",IF(LEFT(A1,3)="BBD","A",1))

なお、これでは大文字小文字区別なしで"abc"とか"Abc"も可となります。
区別するならば、下記としてください。

=IF(EXACT(LEFT(A2,3),"ABC"),"A",IF(EXACT(LEFT(A2,3),"BBD"),"A",1))


なお、R1C1形式ならば

=IF(LEFT(RC[-1],3)="ABC","A",IF(LEFT(RC[-1],3)="BBD","A",1))

=IF(EXACT(LEFT(RC[-1],3),"ABC"),"A",IF(EXACT(LEFT(RC[-1],3),"BBD"),"A",1))
    • good
    • 0
この回答へのお礼

ありがとうございます。
3人の方に回答を頂き、明日、会社で試してみます。

皆さんにそれぞれベストアンサーを差し上げたいです
ありがとうございました

お礼日時:2013/10/14 21:23

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