extracting specific numbers from a range

drjpb

Board Regular
Joined
Dec 11, 2013
Messages
61
Office Version
  1. 365
Platform
  1. Windows
  2. Mobile
I want to extract document numbers from a range on regular basis. The document no. consists of 8 digits and starts with17??????,11??????, 12??????, 13??????, 15?????? and 61??????. In future this criteria may increase (e.g., 18.... & 62.... etc.).
If the criteria repeats, i want the document number only once.
If 17* & 61* both appear in a cell, i want priority for 17*, priority same as defined above (17,11,12,13,15 or 61)
Also if the criteria is not meet i want 0 in that cell (If any of the above criteria not met).
Final result should be all numbers (to remove all text characters).

If i am not asking too much, can we use criteria from a separate sheet in same workbook, let's say i have a sheet named as criteria and Cell A1 contains "17", A2 contains "11", and so on, priority as ascending, so that if in future novice users want to add more to the criteria or rearrange priority, it will be easy for them to rearrange or add by just typing in Cell A7, A8...

Thanking in advance.


Note:
In one cell, data showing following: "17053012--288017000731", i want 17053012 and not 17000731 (which is part of another number).
In one cell, data is "61916456--288017000731يوسف حسين عبيد العتيبي-17054101 KFC-القطاع التجاري", so 17054101 is required, as per the priority.
Again in one cell, data is "مقدم استمارة 17034091 فاتورة 61907541 KFC-القطاع التجاري-دفعات", here again 17034091 is expected.


Find below sample data, which contain mix numbers, as well as text (mostly unicode).

Sample:
PEF Salesdoc No. 17052671 Ref. CPS
PEF Salesdoc No. 17053268 Ref. CPS
PEF Salesdoc No. 17054276 Ref. CPS
PEF Salesdoc No. 17053759 Ref. CPS
17052983--0 KFC-القطاع التجاري-دفعات مقدمة
17053903--خلف KFC-القطاع التجاري-دفعات مقدمة
17054059--بدر KFC-القطاع التجاري-دفعات مقدمة
17052754--مقدم KFC-القطاع التجاري-دفعات مقدمة
17053745--مقدم KFC-القطاع التجاري-دفعات مقدمة
17052143--1705243 KFC-القطاع التجاري-دفعات مقدمة
1703536--17053536 KFC-القطاع التجاري-دفعات مقدمة
17053861--17053861 KFC-القطاع التجاري-دفعات مقدمة
17054028--17054028 KFC-القطاع التجاري-دفعات مقدمة
17052794--17052794 KFC-القطاع التجاري-دفعات مقدمة
17052903--17052903 KFC-القطاع التجاري-دفعات مقدمة
17053566--17053566 KFC-القطاع التجاري-دفعات مقدمة
17053838--17053838 KFC-القطاع التجاري-دفعات مقدمة
17053865--17053865 KFC-القطاع التجاري-دفعات مقدمة
17053890--17053890 KFC-القطاع التجاري-دفعات مقدمة
17053899--17053899 KFC-القطاع التجاري-دفعات مقدمة
17054011--17054011 KFC-القطاع التجاري-دفعات مقدمة
17053994 KFC-القطاع التجاري-دفعات مقدمة
17052320--17052320 KFC-القطاع التجاري-دفعات مقدمة
17053778--17053778 KFC-القطاع التجاري-دفعات مقدمة
17053766--17053766 KFC-القطاع التجاري-دفعات مقدمة
17053991--17053991 KFC-القطاع التجاري-دفعات مقدمة
17054120--17054120 KFC-القطاع التجاري-دفعات مقدمة
17053997--17053997 KFC-القطاع التجاري-دفعات مقدمة
17051249--17051249 KFC-القطاع التجاري-دفعات مقدمة
17053900--17053900 KFC-القطاع التجاري-دفعات مقدمة
17054049--17054049 KFC-القطاع التجاري-دفعات مقدمة
17053564--17053564 KFC-القطاع التجاري-دفعات مقدمة
17054108--17054108 KFC-القطاع التجاري-دفعات مقدمة
17053798--17053798 KFC-القطاع التجاري-دفعات مقدمة
17045562 KFC-القطاع التجاري-دفعات مقدمة
17048097 KFC-القطاع التجاري-دفعات مقدمة
17053859 KFC-القطاع التجاري-دفعات مقدمة
17054005 KFC-القطاع التجاري-دفعات مقدمة
17053993--17053993 KFC-القطاع التجاري-دفعات مقدمة
17053888--17053888 KFC-القطاع التجاري-دفعات مقدمة
17054126--17054126 KFC-القطاع التجاري-دفعات مقدمة
17054146--17054146 KFC-القطاع التجاري-دفعات مقدمة
17050154--17050154 KFC-القطاع التجاري-دفعات مقدمة
17053296--55887272 KFC-القطاع التجاري-دفعات مقدمة
17054047--55576565 KFC-القطاع التجاري-دفعات مقدمة
17054201--51222453 KFC-القطاع التجاري-دفعات مقدمة
17054261--55515315 KFC-القطاع التجاري-دفعات مقدمة
17053788 KFC-القطاع التجاري-دفعات مقدمة
17053455--275022600018 KFC-القطاع التجاري-دفعات مقدمة
17050961--283082700707 KFC-القطاع التجاري-دفعات مقدمة
17051621--273030500384 KFC-القطاع التجاري-دفعات مقدمة
17053553--274050700599 KFC-القطاع التجاري-دفعات مقدمة
17052519--290080901105 KFC-القطاع التجاري-دفعات مقدمة
17052947--252110801088 KFC-القطاع التجاري-دفعات مقدمة
17054188--268011600316 KFC-القطاع التجاري-دفعات مقدمة
17053012--288017000731 KFC-القطاع التجاري-دفعات مقدمة
17053229--285070500985 KFC-القطاع التجاري-دفعات مقدمة
17053264--280033101528 KFC-القطاع التجاري-دفعات مقدمة
17053141--268012300323 KFC-القطاع التجاري-دفعات مقدمة
17052692--271030100437 KFC-القطاع التجاري-دفعات مقدمة
17053379--279122300272 KFC-القطاع التجاري-دفعات مقدمة
17053556--293120401222 KFC-القطاع التجاري-دفعات مقدمة
17054138--282112401181 KFC-القطاع التجاري-دفعات مقدمة
17053305--265041507768 KFC-القطاع التجاري-دفعات مقدمة
17053079--285072302253 KFC-القطاع التجاري-دفعات مقدمة
17053085--288030901569 KFC-القطاع التجاري-دفعات مقدمة
17053828--عبدالعزيز سعود KFC-القطاع التجاري-دفعات مقدمة
17053690--286071401713ب.م KFC-القطاع التجاري-دفعات مقدمة
17054176--284102500716ب.م KFC-القطاع التجاري-دفعات مقدمة
17052642--استماره 17052642 KFC-القطاع التجاري-دفعات مقدمة
استماره 17054158 KFC-القطاع التجاري-دفعات مقدمة
17054106--استماره 17054106 KFC-القطاع التجاري-دفعات مقدمة
17054178--استماره 17054178 KFC-القطاع التجاري-دفعات مقدمة
غازي 288100501633 KFC-القطاع التجاري-دفعات مقدمة
17054008--262060302801-self KFC-القطاع التجاري-دفعات مقدمة
17053540--فاتوره رقم17053450 KFC-القطاع التجاري-دفعات مقدمة
17053216--FATMA-260070600504 KFC-القطاع التجاري-دفعات مقدمة
فاتوره رقم61916503 KFC-القطاع التجاري-دفعات مقدمة
الاستماره 17053590 KFC-القطاع التجاري-دفعات مقدمة
استماره رقم17052304 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم17052694 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم17053259 KFC-القطاع التجاري-دفعات مقدمة
17053435--استماره رقم 17053435 KFC-القطاع التجاري-دفعات مقدمة
17054000--استماره رقم 17054000 KFC-القطاع التجاري-دفعات مقدمة
17054202--استماره رقم 17054202 KFC-القطاع التجاري-دفعات مقدمة
17054216--استماره رقم 17054216 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم 17054099 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم 17053996 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم 17053541 KFC-القطاع التجاري-دفعات مقدمة
استمارة رقم 17052137 KFC-القطاع التجاري-دفعات مقدمة
17053579--مقدم مرابحة 17053579 KFC-القطاع التجاري-دفعات مقدمة
17054137--استماره رقم 17054137 KFC-القطاع التجاري-دفعات مقدمة
مقدم مرابحه 17051279 KFC-القطاع التجاري-دفعات مقدمة
17053660--مقدم تجاريه 17053660 KFC-القطاع التجاري-دفعات مقدمة
17053863--291090301749-17053863 KFC-القطاع التجاري-دفعات مقدمة
17054154--17054154-259060301721 KFC-القطاع التجاري-دفعات مقدمة
17053591--مقدم استماره 17053491 KFC-القطاع التجاري-دفعات مقدمة
17053547--مقدم استماره 17053547 KFC-القطاع التجاري-دفعات مقدمة
17054165--مقدم استماره 17054165 KFC-القطاع التجاري-دفعات مقدمة
17054179--مقدم استماره 17054179 KFC-القطاع التجاري-دفعات مقدمة
17054211--مقدم استمارة 17054211 KFC-القطاع التجاري-دفعات مقدمة
17054181--مقدم استماره 17054181 KFC-القطاع التجاري-دفعات مقدمة
17053982--مقدم استماره/17053982 KFC-القطاع التجاري-دفعات مقدمة
17053655--رقم الاستماره 17053655 KFC-القطاع التجاري-دفعات مقدمة
رقم الاستماره 17034951 KFC-القطاع التجاري-دفعات مقدمة
رقم الاستماره 17053543 KFC-القطاع التجاري-دفعات مقدمة
استماره رقم - 17053767 KFC-القطاع التجاري-دفعات مقدمة
17053870--مقدم مرابحة / 17053870 KFC-القطاع التجاري-دفعات مقدمة
17053867--رقم الاستمارة 17053867 KFC-القطاع التجاري-دفعات مقدمة
17051997--مقدم استماره رقم17051997 KFC-القطاع التجاري-دفعات مقدمة
17053852--مقدم استماره رقم 17053852 KFC-القطاع التجاري-دفعات مقدمة
17054013--مقدم استماره رقم:17054013 KFC-القطاع التجاري-دفعات مقدمة
مقدم استمارة رقم 17053843 KFC-القطاع التجاري-دفعات مقدمة
17051414--مقدم استماره رقم :17051414 KFC-القطاع التجاري-دفعات مقدمة
17054034--مقدم استماره رقم :17054034 KFC-القطاع التجاري-دفعات مقدمة
17053981--مقدم استماره رقم / 17053981 KFC-القطاع التجاري-دفعات مقدمة
17053377--دفع مقدم مرابحه - يعقوب الشطي KFC-القطاع التجاري-دفعات مقدمة
17053083--id 283081300111 athari eleissa KFC-القطاع التجاري-دفعات مقدمة
17053711--عبدالله مطلق شباب 279120401133 KFC-القطاع التجاري-دفعات مقدمة
17050642--رقم الاستماره 17050642 محمد نصر KFC-القطاع التجاري-دفعات مقدمة
17054029--مقدم تجاريه استماره رقم 17054029 KFC-القطاع التجاري-دفعات مقدم
17053658--مقدم مرابحه استماره رقم 17053658 KFC-القطاع التجاري-دفعات مقدم
17054037--استماره17054037عائشه جديع العجمي280052301103 KFC-القطاع التجار
احمد انور بوناشي 17054033 مجمع الوزارات KFC-القطاع التجاري-دفع
17053555--مقدم استمارة 17053555 ب/م 280021800989 KFC-القطاع التجاري-دفعا
17053704--285032100358-مقدم تورق رقم الاستماره 17053704 KFC-القطاع التجا
17053808--272031500488-مقدم تورق رقم الاستماره 17053808 KFC-القطاع التجا
17054036--288050101059-مقدم تورق رقم الاستماره 17054036 KFC-القطاع التجا
17054117--284031100394-مقدم تورق رقم الاستماره 17054117 KFC-القطاع التجا
61916456--288017000731يوسف حسين عبيد العتيبي-17054101 KFC-القطاع التجاري
17054041--جلين جوي يدانيس توان - 270061303478 - 17054041 KFC-القطاع التج
مقدم استمارة 17034091 فاتورة 61907541 KFC-القطاع التجاري-دفعات

<tbody>
</tbody>


This is the final Result i am expecting for the above sample:

FINAL RESULT:

12447712
17050256
17053531
17053616
17053712
17053884
17054249
13191360
17049914
17051251
17052716
17053669
17053979
17054048
17054250
17054263
12447693
17052702
17053554
17053697
17053720
17053720
17053839
17053921
17053933
17054007
17054064
17054265
17052153
17052296
17052784
17053032
17053408
17053589
17053825
17053926
17053985
17053737
17054075
12447758
17053001
17054164
17053734
17053530
17047607
12447702
17053533
17053856
17053967
17054225
17054239
17049683
17053999
17054061
17053946
17054092
17052788
17052932
17053622
17054174
12447584
17053895
12447704
17054025
17053949
17050680
17054258
17047216
17052882
17053108
17054035
17054155
17054242
17054248
17053479
17054267
11956310
17053748
17053918
17054094
17054156
17054236
17053772
17051865
17053181
17054073
17053724
17053983
17054039
17054168
17053563
17053356
17054214
17052426
17053686
17053872
17054229
17052417
17052671
17053268
17054276
17053759
17052983
17053903
17054059
17052754
17053745
17052143
17053536
17053861
17054028
17052794
17052903
17053566
17053838
17053865
17053890
17053899
17054011
17053994
17052320
17053778
17053766
17053991
17054120
17053997
17051249
17053900
17054049
17053564
17054108
17053798
17045562
17048097
17053859
17054005
17053993
17053888
17054126
17054146
17050154
17053296
17054047
17054201
17054261
17053788
17053455
17050961
17051621
17053553
17052519
17052947
17054188
17053012
17053229
17053264
17053141
17052692
17053379
17053556
17054138
17053305
17053079
17053085
17053828
17053690
17054176
17052642
17054158
17054106
17054178
0
17054008
17053540
17053216
61916503
17053590
17052304
17052694
17053259
17053435
17054000
17054202
17054216
17054099
17053996
17053541
17052137
17053579
17054137
17051279
17053660
17053863
17054154
17053591
17053547
17054165
17054179
17054211
17054181
17053982
17053655
17034951
17053543
17053767
17053870
17053867
17051997
17053852
17054013
17053843
17051414
17054034
17053981
17053377
17053083
17053711
17050642
17054029
17053658
17054037
17054033
17053555
17053704
17053808
17054036
17054117
17034091
17054041
17034091
17053201
17042626
17050347
17054023
17047811

<tbody>
</tbody>

Once again Thanking you.
 

Excel Facts

How to calculate loan payments in Excel?
Use the PMT function: =PMT(5%/12,60,-25000) is for a $25,000 loan, 5% annual interest, 60 month loan.
so you want them in ascending order ?

where does your data come from - could it not be "sorted out better" at source ?
 
Upvote 0
It's extracting specific numbers from the range.
 
Upvote 0
17053863--291090301749-17053863 KFC-القطاع التجاري-دفعات مقدمة

in words how do you sort this one out
 
Upvote 0
1. Such a big sample is counter-productive as the post & thread become hard to read/navigate. You need a big enough sample to show the variety possible, but don't go overboard. ;)

Perhaps I haven't understood but ...

2. I thought that your description (& your 3 worked examples) was saying you want at most one number returned from each cell. If that is so how do the 132 sample rows produce 235 result rows? Otherwise please explain this aspect further, & give example(s).

3. How does the first result (12447712) relate in any way to the first sample data (PEF Salesdoc No. 17052671 Ref. CPS)?
 
Upvote 0
Dear Peter_SSs,
Thank you for the advise, i will keep that it in consideration for future.
I realized not only i had posted big sample, but also made mistake. So i am posting the sample & the outcome what is expected below.

Yes i want one number returned from each cell, which will be 8 digits and starting with 17 or 11 or 12 or 13 or 15 or 61.

I believe it may be hard to achieve my goals, as sometimes there will be cells starting with text joined with my required number (eg., KFC17053690--28607515713ب.م OR KJE17053690 25153215225). But then again i might be underestimating your expertise & macros capabilities :)

Usually the required number is in the start of cell.

Thanks once again.


Sample :-
PEF Salesdoc No. 17052671 Ref. CPS
17052983--0 KFC-القطاع التجاري-دفعات مقدمة
17053745--مقدم KFC-القطاع التجاري-دفعات مقدمة
17052143--1705243 KFC-القطاع التجاري-دفعات مقدمة
1703536--17053536 KFC-القطاع التجاري-دفعات مقدمة
17053994 KFC-القطاع التجاري-دفعات مقدمة
17053296--55887272 KFC-القطاع التجاري-دفعات مقدمة
17053455--275022600018 KFC-القطاع التجاري-دفعات مقدمة
17053828--عبدالعزيز سعود KFC-القطاع التجاري-دفعات مقدمة
17053690--286071401713ب.م KFC-القطاع التجاري-دفعات مقدمة
17054176--284102500716ب.م KFC-القطاع التجاري-دفعات مقدمة
استماره 17054158 KFC-القطاع التجاري-دفعات مقدمة
غازي 288100501633 KFC-القطاع التجاري-دفعات مقدمة
17054008--262060302801-self KFC-القطاع التجاري-دفعات مقدمة
17053540--فاتوره رقم17053450 KFC-القطاع التجاري-دفعات مقدمة
17053216--FATMA-260017600504 KFC-القطاع التجاري-دفعات مقدمة
فاتوره رقم61916503 KFC-260017600504 KFC
استمارة رقم17053259 KFC-القطاع التجاري-دفعات مقدمة
مقدم مرابحه 17051279 KFC-القطاع التجاري-دفعات مقدمة
17053863--291090301749-17053863 KFC-القطاع التجاري-دفعات مقدمة
17054154--17054154-259060301721 KFC-القطاع التجاري-دفعات مقدمة
17053083--id 283081300111 athari eleissa KFC-القطاع التجاري-دفعات مقدمة
17054037--استماره17054037عائشه جديع العجمي280052301103 KFC-القطاع التجار
احمد انور بوناشي 17054033 مجمع الوزارات KFC-القطاع التجاري-دفع
17053555--مقدم استمارة 17053555 ب/م 280021800989 KFC-القطاع التجاري-دفعا
61916456--288017000731يوسف حسين عبيد العتيبي-17054101 KFC-القطاع التجاري
17054041--جلين جوي يدانيس توان - 270061303478 - 17054041 KFC-القطاع التج
مقدم استمارة 17034091 فاتورة 61907541 KFC-القطاع التجاري-دفعات

<tbody>
</tbody>

Outcome:-
17052671
17052983
17053745
17052143
17053536
17053994
17053296
17053455
17053828
17053690
17054176
17054158
0
17054008
17053540
17053216
61916503
17053259
17051279
17053863
17054154
17053083
17054037
17054033
17053555
17054101
17054041
17034091

<tbody>
</tbody>


 
Upvote 0
17053863--291090301749-17053863 KFC-القطاع التجاري-دفعات مقدمة

in words how do you sort this one out

I would like to extract the number starting with 17 (17053863).
Thanks oldbrewer
 
Upvote 0
That is a better size sample, thanks.

However, it raises yet another question. One of the rows in this sample is shown below, together with what you say is the expected outcome for that row.
Why that is the expected outcome given the priority order stated in your first post and also this example?
In one cell, data is "61916456--288017000731???? ???? ???? ???????-17054101 KFC-?????? ???????", so 17054101 is required, as per the priority.

Why isn't the correct answer the bold red number since "17" is the first priority?

(? replaces the foreign characters in my screen shot)

Excel Workbook
AB
17KFC-260017600504 KFC 61916503 ????61916503
Data (2)



One further question: Are you sure that the sample data is displaying correctly?
I'm not suggesting that it isn't, but when I copy your sample data from post #6 and paste into my sheet, the order of the text in some of the cells is quite different to what shows in your post. I assume that it relates to the "foreign" characters. An example is the 3rd last row. Using "???" to represent a string of "foreign" characters, your sample 3rd last row shows
61916456--28801700073117054101-????KFC-???
but when pasted into my sheet becomes
17054101-????61916456--288017000731 KFC-???

This will make developing & testing a solution pretty difficult for me I think. :eek:
 
Last edited:
Upvote 0
Your sample did not include a mix of numbers starting with the various criteria numbers (all your numbers started with 17), so I was not able to test the following extensively. With that said, I think the following macro should do what you want...
Code:
[table="width: 500"]
[tr]
	[td]Sub DocumentNumbers()
  Dim R As Long, X As Long, Z As Long, Nums() As String
  Dim WSdata As Worksheet, WScriteria As Worksheet
  Dim Data As Variant, Criteria As Variant, Result As Variant
  Set WSdata = Sheets("Sheet1")
  Set WScriteria = Sheets("Sheet2")
  Data = WSdata.Range("A1", WSdata.Cells(Rows.Count, "A").End(xlUp))
  ReDim Result(1 To UBound(Data), 1 To 1)
  Criteria = WScriteria.Range("A1", WScriteria.Cells(Rows.Count, "A").End(xlUp))
  For R = 1 To UBound(Data)
    For X = 1 To Len(Data(R, 1))
      If Mid(Data(R, 1), X, 1) Like "[!0-9]" Then Mid(Data(R, 1), X) = " "
    Next
    Nums = Split(Application.Trim(Data(R, 1)))
    For X = 1 To UBound(Criteria)
      For Z = 0 To UBound(Nums)
        If Nums(Z) Like Criteria(X, 1) & "######" Then
          Result(R, 1) = Nums(Z)
          Exit For
        End If
      Next
      If Len(Result(R, 1)) Then Exit For
    Next
    Result(R, 1) = Val(Result(R, 1))
  Next
  WSdata.Range("B1").Resize(UBound(Result)) = Result
End Sub[/td]
[/tr]
[/table]
 
Last edited:
Upvote 0
I take the responsibility for not explaining in proper way as my native language is not English.

As per your first question, priority is for required numbers, YES and yet again i fail to provide you with accurate sample outcome as me too fell for the Unicode (Arabic) language (Right to left). 3rd last example if converted to Left to Right shows 17054101, where as if viewed Right to Left it appears as merged into 28801700073117054101.
But what i have noticed is that as you don't have Left to Right language installed on your system, Excel is automatically showing the data in correct form, (eg. 3rd last row you mentioned is showing required number in start.(17054101-????61916456--288017000731 KFC-???).

But required criteria number merged into another number shouldn't be considered (e.g, "[FONT=&quot]FATMA-260017600504 KFC" should result in 0).[/FONT]

I appreciate your patience and continuous support

I will try your given code and will reply you back with the outcome.
Many Thanks.
61916456--288017000731يوسف حسين عبيد العتيبي-17054101 KFC-القطاع التجاري

<tbody>
</tbody>
 
Last edited by a moderator:
Upvote 0

Forum statistics

Threads
1,214,986
Messages
6,122,611
Members
449,090
Latest member
vivek chauhan

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top