プロが教える店舗&オフィスのセキュリティ対策術

教えて下さい!
エクセルで
A列に品名が入力してあります。
B列に品名の一部分を元に分けられた、分類のマークを表示させたいです。

アルファベットA、1文字から始まる品名と
アルファベットCDから始まる品名の分類は○
アルファベットABから始まる品名の分類は△
とします。

分類を表示させたい場合、どのような数式を入れたらいいでしょうか?

LEFT関数を使用しようとしましたが
Aを○で表示させようとするとABまで○になってしまって困っています。

「エクセルの数式を教えて下さい!」の質問画像

質問者からの補足コメント

  • ありがとうございます!
    ちなみに…AとABが同じ○の分類だとしたら
    どうなるのでしょうか?
    基本的には品名のアルファベット部分で判断させ1品名づつ分類分けしたいと考えます。

      補足日時:2018/02/10 00:32

A 回答 (2件)

AもABも同じ分類「〇」だとしたら、



B2: =IF(OR(LEFT(A2,1)="A",LEFT(A2,2)="AB"),"〇",IF(LEFT(A2,2)="CD","△",""))

文章で書くと、
①左から1文字がA、又は、左から2文字がABだったら、〇
②それ以外で、左から2文字がCDだったら、△
③それ以外だったら、何も表示しない

上記の
OR(LEFT(A2,1)="A",LEFT(A2,2)="AB")
の部分ですが、
ABも左から1文字がAなんで、
LEFT(A2,1)="A"
だけでも同じ動きになりますが、分類すべてを書きたいのなら、上記のORを使った式になります。

分類がたくさんある場合、IF文で書いていると長くなり、判別が難しくなるし、後で修正が発生したときも
大変です。
品名の判断部分を抜き出した列を追加して、別表に品名の判断部分と分類を作成し、
VLOOKUPで取得するようにしたほうがいいです。
    • good
    • 0
この回答へのお礼

助かりました

mike32様
2度もご返答いただきありがとうございます!
頭文字が同じで分類が同じ場合はVLOOKUPにする方が妥当ですね。
スッキリしました。
ありがとうございました!

お礼日時:2018/02/10 09:19

IF文で比較する順番を変えて、


①ABで始まるものだったら、△
②それ以外で、Aで始まるもの、又は、CDで始まるものだったら、〇
③それ以外だったら...
としたらいかがでしょうか。

これを式にするとこんな感じです。
B2: =IF(LEFT(A2,2)="AB","△",IF(OR(LEFT(A2,1)="A",LEFT(A2,2)="CD"),"〇",""))
これを下へオートフィルすればできます。
    • good
    • 0

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