セルから英数字を抽出する方法
こんにちは
どなたでも私が下記の解決を助けます.私は下記のB、BAFL、BAFから始まる異なるコードを持つデータを持っています、私はセルから式を介して抽出したいです.お知らせください.
サンプルはそのままです.強調表示されている赤を抽出する必要があります.
参考 |
SANAM MUNAWAR支店スタッフB8536Adnan Khan BM 12214 |
Muhammad Abid BdoB6267IMRAN BUTT TL 20805 |
ファイザンIQBAL DBOB6998SYED ATIF HASSAN TL 17321 |
Aレイム支店スタッフ20771 Hamid Ihsan BMBAF0135 |
ZAIN UL ABIDIN支店スタッフBAFL5541 FAWAD NAEEEEEM BUT BM 12050 |
返信リスト(回答:10)
これが正規表現を使用した別のUDFです.必要な場合は、必要な前のアルファ文字列がパターン内のパイプ区切りグループに含まれているため、必要に応じて新しいプレフィックスを追加するのに便利です.
オプション
関数bnums(範囲としてのRG)文字列としての
オブジェクト、MCとしてのムク
Re
.pattern= "\b(?:b|baf|bafl|bal)\d +\b"
.ignorecase= true 'またはfalseの場合はfalse
.test(rg)= trueの場合
MC=.execute(RG)を設定します
BNUMS= MC(0)
の場合は終了
終了関数
ユーザー定義関数:
関数getb(範囲としてのRG)文字列として
temp= rg&"" "" "
i= 1からLen(RG)への
"B#"のような中MID(RG、I、2)の場合
J= INSTR(MID(TEMP、I)、 "")
getb= mid(rg、i、j)
終了機能
の場合は終了
MID(RG、I、3)=「BAF」の場合は
J= INSTR(MID(TEMP、I)、 "")
getb= mid(rg、i、j)
終了機能
の場合は終了
次の
終了関数
その後、code= getb(a1)と塗りつぶします.
応答10# ->にスキップ8 #BobUmlaこれを行うための式は、それが式で行うことができれば非常に長くなるでしょう.マクロの専門家である必要はありません.次の手順に従ってください:
- ALT/F11
を押す- 挿入/モジュール
- 送信したコードを貼り付け、 "関数getb...
- Alt/Qを押します(Excelに戻ってください)
- enter= getb(cell参照)、= getb(a2)、そしてあなたはあなたの結果を持っています.
応答8# ->にスキップ7 #WaseemAどうもありがとうございました、本当に仕事、本当にあなたのサポートに感謝します、
コードにもう1つのオプションBALを追加しようとしていますが、結果を達成できなくなりましたが、以下のセル
MASOOOD IQBALBAL0255huma siraj bm 22180 関数getb(範囲としてのRG)文字列として
temp= rg&"" "" " i= 1からLen(RG)への
"B#"のような中MID(RG、I、2)の場合
J= INSTR(MID(TEMP、I)、 "")
getb= mid(rg、i、j)
終了機能
の場合は終了 MID(RG、I、3)=「BAF」の場合は
J= INSTR(MID(TEMP、I)、 "")
getb= mid(rg、i、j)
終了機能
の場合は終了 mid(RG、I、4)= "BAL"j= INSTR(MID(Temp、I)、 "")getb= mid(Rg、i、j)出口関数の場合は終わります
次の
終了関数RGSD
waseem
応答7# ->にスキップ5 #BobUmla 1関数getb(範囲としてのRG)文字列として
temp= rg&"" "" " i= 1からLen(RG)への
「B#」のような中MID(RG、I、3)の場合
J= INSTR(MID(TEMP、I + 1)、 "")
getb= mid(RG、i + 1、j)
終了機能
の場合は終了 MID(RG、I、4)= "BAF"の場合は
J= INSTR(MID(TEMP、I + 1)、 "")
getb= mid(RG、i + 1、j)
終了機能
の場合は終了 MID(RG、I、4)= "BAL"の場合
J= INSTR(MID(TEMP、I + 1)、 "")
getb= mid(RG、i + 1、j)
終了機能
の場合は終了 次の
エンド機能√
応答5# ->にスキップ1 #WaseemAこんにちはボブ
ANBO関数でもっと助けが必要な場合は、「OK」を追加したいです.
「BAF」または「BAF」BAF「BAZ」スペース、またはスペースなし.下のようなデータ
データ Gozanfar Ali BDO BAF1122 AHS RAFIQUE BM 10739 MUSAM RAFIQUE BAF 8866 Shehla Imran LMS 16862 Jawad Ur Rehman Bow-6255 Syed Arsu BM 5855 Muhammad Abid BDA B6267 Butty TL 20805 S Farmhad Shah B8748 漢字BDA BM-0987 MAIDA AWAN BM 20971 Arslan Hider BDO BAFL4433 Rashid BM 18503 M Ehtisham BDO BAFL 5138 Gulam Moh DIN TL 21516 Muhammad Adidel Bafl-5138 Timur Sydque Tl B5560< Jamil Kashif BRDA BAL3670脅当されたTL 21353 カラアリBDA BD 5324アーサーTL 21685 Warda氏BDO Budhoy 909999090909 9099909090909 90999090909 9099909909 909909 909909 JAJ Ahmed TL 21383 QAMMAR ABBAS BDO 5599 M WASWIR BM 19773 Akhter Ali BDO 5934 Adan 3501 PreSeeサポート
応答6# ->にスキップ2 #PeterAtそしてここで別のものですが、おそらくRonのコードと同じくらい短くはありません.
関数getcodes(範囲としてREF)文字列
DIM X、Y、I、J、L
y=配列( "b#"、 "baf"、 "bafl"、 "bal")
X=分割(REF、 "")
i= LBound(x)からUBound(x)
j= LBound(y)からUBound(y)
L= Len(y(j))
左(x(i)、l)の場合、
getCodes= x(i)
出口関数
の場合は終わります次のj
次のi
終了関数