○○-△△-□□-□□
というコードがあります。
最初のハイフンの後の、△△を下記のような要件で
抜き出しいのです。
最初のハイフンの直後の2文字が英字+数字→最初のハイフンの直後の1文字だけ
抜き出す
最初のハイフンの直後の1文字が数字→最初のハイフンの直後の3文字だけ抜き
出す
最初のハイフンの直後の2文字が英字→最初のハイフンの直後の2文字だけ
抜き出す
以上の要件で関数を作って頂けますでしょうか。
お忙しい所恐縮です。
一番良い回答にはイルカ賞を進呈させて頂きます。
よろしく、お願いいたします。
例
AA2-G10-180-D →G
AA2-3G1456-180-D →3G1
A52-GH456-180-D →GH
何か、要件上のお問い合わせ等ありましたら、
コメント欄にて、お聞きいただけると幸いです。
どうも英数字だけのようなので短くすると
=MID(A1,FIND("-",A1)+1,IF(ISNUMBER(MID(A1,FIND("-",A1)+1,1)*1),3,IF(ISNUMBER(MID(A1,FIND("-",A1)+2,1)*1),1,2)))
=IF(ISERROR(MID(A1,FIND("-",A1)+1,1)*1),MID(A1,FIND("-",A1)+1,1) & IF(ISERROR(MID(A1,FIND("-",A1)+2,1)*1),MID(A1,FIND("-",A1)+2,1),""),MID(A1,FIND("-",A1)+1,3))
前のを ちょこちょこ 変えました。
1文字目が 数値の場合、3文字
1文字目が数値でない場合は その文字と
2文字目もチェック。2文字目が数値ならば 何も連結しない。
数値以外ならば その文字を 連結 というようにしています。
すげえ
ありがとうございました。
ご質問の3つの条件に合わなかった場合はアスタリスク***を表示するようにしてあります。
=IF(AND(ISNUMBER(MATCH(MID(A1,FIND("-",A1)+1,1),{"a","z"},1)),ISNUMBER(MID(A1,FIND("-",A1)+2,1)+0)),MID(A1,FIND("-",A1)+1,1),IF(ISNUMBER(MID(A1,FIND("-",A1)+1,1)+0),MID(A1,FIND("-",A1)+1,3),IF(AND(ISNUMBER(MATCH(MID(A1,FIND("-",A1)+1,1),{"a","z"},1)),ISNUMBER(MATCH(MID(A1,FIND("-",A1)+2,1),{"a","z"},1))),MID(A1,FIND("-",A1)+1,2),"***")))
どうも英数字だけのようなので短くすると
=MID(A1,FIND("-",A1)+1,IF(ISNUMBER(MID(A1,FIND("-",A1)+1,1)*1),3,IF(ISNUMBER(MID(A1,FIND("-",A1)+2,1)*1),1,2)))
これもスゴイっす。
短くて最高です。
イルカ賞、迷います。
これもスゴイっす。
短くて最高です。
イルカ賞、迷います。