エクセルの関数を作って頂きたく思います。

○○-△△-□□-□□
というコードがあります。
最初のハイフンの後の、△△を下記のような要件で
抜き出しいのです。

最初のハイフンの直後の2文字が英字+数字→最初のハイフンの直後の1文字だけ
抜き出す
最初のハイフンの直後の1文字が数字→最初のハイフンの直後の3文字だけ抜き
出す
最初のハイフンの直後の2文字が英字→最初のハイフンの直後の2文字だけ
抜き出す

以上の要件で関数を作って頂けますでしょうか。
お忙しい所恐縮です。
一番良い回答にはイルカ賞を進呈させて頂きます。
よろしく、お願いいたします。


AA2-G10-180-D →G
AA2-3G1456-180-D →3G1
A52-GH456-180-D →GH

何か、要件上のお問い合わせ等ありましたら、
コメント欄にて、お聞きいただけると幸いです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/05/31 17:05:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.3

回答回数3454ベストアンサー獲得回数969

ポイント33pt

どうも英数字だけのようなので短くすると

=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)))

id:martytaka

これもスゴイっす。

短くて最高です。

イルカ賞、迷います。

2011/05/31 17:05:33

その他の回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント34pt

=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文字目が数値ならば 何も連結しない。

数値以外ならば その文字を 連結 というようにしています。

id:martytaka

すげえ

ありがとうございました。

2011/05/31 17:04:30
id:deflation No.2

回答回数1036ベストアンサー獲得回数126

ポイント33pt

ご質問の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),"***")))
id:SALINGER No.3

回答回数3454ベストアンサー獲得回数969ここでベストアンサー

ポイント33pt

どうも英数字だけのようなので短くすると

=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)))

id:martytaka

これもスゴイっす。

短くて最高です。

イルカ賞、迷います。

2011/05/31 17:05:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません