Using this barcode to split data into columns (pharmacy related)

pharmavenger

New Member
Joined
Jul 19, 2019
Messages
7
Hello everyone!

I'm a pharmacy student working on how to extract numbers from medication QR codes into individualized columns in Excel.

For example, this code
010030093552606517201130101040951182110091947809740 needs to put into 3 columns: GTIN, Lot, and Expiry date. GTIN is donated by 01 in front and has a 14 fixed digit. Lot number is denoted by 10 and the digits may vary (its not fixed so that is why we were having trouble). Expiry date is denoted by 17 and its fixed at 6 digits.

I have tried the following code: =LEFT(MID(A1,SEARCH("17",A1)+2,LEN(A1)),FIND("21"-1,MID(A1,SEARCH("17",A1)+2,LEN(A1)))-1)

<tbody>
</tbody>

This is an screenshot of what I'm working towards: https://paste.pics/0d7ee6a250f7a17721281285a2985621
This is more information on the code: https://paste.pics/7622d1f5f0708387defb889dab03198b

Any advice is helpful. Thank you!!!
 

Some videos you may like

Excel Facts

Did you know Excel offers Filter by Selection?
Add the AutoFilter icon to the Quick Access Toolbar. Select a cell containing Apple, click AutoFilter, and you will get all rows with Apple

sykes

Well-known Member
Joined
May 1, 2002
Messages
1,693
Office Version
365
Platform
Windows
Is the GTIN always first, and the Exp date always second?
 

sykes

Well-known Member
Joined
May 1, 2002
Messages
1,693
Office Version
365
Platform
Windows
If the GTIN's always first, then that one's easy: =MID(A1,3,14)
If the Exp date's always second, then that one's easy: =MID(A1,19,6)

Not at all sure about retrieving the Lot# - bearing in mind that both it, AND the serial number can be up to 20 characters each!
You can use INSTR and INSTRREV etc, but to try and pick them out of a "Random" string will (I think) need a bit more info on any more reliable constants
 

pharmavenger

New Member
Joined
Jul 19, 2019
Messages
7
The GTIN and Exp worked perfectly! Thank you so much.

I'm not sure what INSTR OR INSTERREV are or how to use them.

What more information do you need for the Lot number?
 

pharmavenger

New Member
Joined
Jul 19, 2019
Messages
7
If the GTIN's always first, then that one's easy: =MID(A1,3,14)
If the Exp date's always second, then that one's easy: =MID(A1,19,6)

Not at all sure about retrieving the Lot# - bearing in mind that both it, AND the serial number can be up to 20 characters each!
You can use INSTR and INSTRREV etc, but to try and pick them out of a "Random" string will (I think) need a bit more info on any more reliable constants


Yes, the order would be GTIN, Expiry, and then LOT number followed by serial number (but I don't need the serial number)
 

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
42,835
Office Version
365
Platform
Windows
How about
=LEFT(MID(A1,27,LEN(A1)),FIND("21",MID(A1,27,LEN(A1)))-1)
 

Rick Rothstein

MrExcel MVP
Joined
Apr 18, 2011
Messages
36,048
Office Version
2010
Platform
Windows
Do these formulas do what you want (they are based on the picture you posted in the first link in your first message)...

GTIN: =MID(A2,3,14)

Lot: =MID(A2,LEN(B2)+LEN(C2)+9,7)

Expiry: =MID(A2,19,6)

Note: The above formulas assume your barcode number is in cell A2 and the the GTIN is to be in cell B2, the Lot number is to be in cell C2 and the Expiry is to be in cell D2.
 
Last edited:

pharmavenger

New Member
Joined
Jul 19, 2019
Messages
7
Do these formulas do what you want (they are based on the picture you posted in the first link in your first message)...

GTIN: =MID(A2,3,14)

Lot: =MID(A2,LEN(B2)+LEN(C2)+9,7)

Expiry: =MID(A2,19,6)

Note: The above formulas assume your barcode number is in cell A2 and the the GTIN is to be in cell B2, the Lot number is to be in cell C2 and the Expiry is to be in cell D2.
The GTIN formula works perfectly! The Lot and Expiry formulas do not work. A2 will have the barcode number and from there I'm trying to derive the GTIN, LOT, and expiry. The GTIN number comes first (14 characters, its fixed), then serial, expiry (6 characters) and lot. Serial and Lot don't have fixed characters.

This is what I got using those formulas: https://paste.pics/26670cb31094b6f2a62e10c833513ade
 

Watch MrExcel Video

Forum statistics

Threads
1,102,660
Messages
5,488,161
Members
407,628
Latest member
Faceless Judge

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...
Top