• ベストアンサー

数値の抽出

添付の表の注文番号には、管理番号が含まれています。表のように、その管理番号を抽出する関数式をご教授下さい。 抽出条件としては、 (1)注文番号の中には、部門を示す4桁の数値(複数)があります。この4桁の数値のすぐ左にある"-"と"-"の間の英・数値を取り出す。 (2)"-"で囲まれていない場合は、左先頭から"-"迄の英・数値を取り出す。 (3)4桁の数値が含まれていない場合は、左先頭から"-"までの英・数値("-"が無い場合は、全ての英・数値)を取り出す。 以上宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

B2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(A2,"*-*")=0,A2,IF(LEN(TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),100,100)))=4,TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),1,100)),IF(LEN(TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),200,100)))=4,TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),100,100)),IF(LEN(TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),300,100)))=4,TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",100)),200,100)),LEFT(A2,FIND("-",A2)-1))))))

takosu40
質問者

お礼

お礼が遅れ、申し訳ございませんでした。一部担当者の方がーを大文字入力しており管理番号以外も一緒に抽出していましたが、ーを半角にすることで、全ての番号で適切に抽出できました。本当に有り難うございました。