Solved

# Approximate search in text data (Excel VBA, Excel SQL)

Posted on 2013-01-27
777 Views
Hello, dear members and experts!

There are good (efficient) solutions for Approximate text seach in data (for Excel VBA, Excel with SQL-queries)?

The main task is: finding from external database (Excel's file) data corresponding to data in specified collumn in main Excel's sheet.

Second task: include approximate search into custom made improved_VLOOKUP function â€“http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_28009228.html

0
Question by:Last_Free_Man
• 3
• 3
• 2

LVL 26

Expert Comment

ID: 38824075
Last_Free_Man,

Could you be more specific about what approximate search means to you, please? Links to existing good solutions would be good!

Thanks,
Brian.
0

LVL 92

Expert Comment

ID: 38824198
Agreed with Brian: we need clarification on what an approximate match is.

Taking my approach from the last question, suppose you need "the Order Number for the 7th item from the top where the Manager's name starts with 'J'."

In that case, you could use this array formula:

{=INDEX(\$C\$1:\$C\$21,SMALL(IF(LEFT(\$A\$1:\$A\$21,1)="J",ROW(\$A\$1:\$A\$21),""),7),1)}
0

Author Comment

ID: 38824729
I will try to explain my programmer's tasks.

I have two tables.

Table_A (XLSX file) containts column with projects names (text string with length equal 255 characters).
This data based on users input. Because of human factor projects names often have inaccuracy: double spaces, lack of spaces, mixed caps and small letters, lack of pointings and etc.

Table_B (XLSX file) containts column with project names too. But this field can have length more as 255 characters (and sometimes with NewLine symbols). Usually data in this column is more accurate than in Table_B but this is also result of users input and edit.

The task is find data in Table_B correspond to data in Table_A (with approximated search)

I need in solution based on VBA (as part of many checking and fixing subprograms).
SQL-queries (with ADO connection) are also good tool (I use it now in this current checking project).

The main plan is: use RegExp for throw off any characters in string except numbers and letters and then compare string with simplification.

Do you have any different ideas? - Good!

P.S. I have good programmers background: Perl, MySql, a little bit of JavaScript. But VBA and ADO is new languages and technologies for me. (Sorry! I'm newbe in English too!)
0

LVL 26

Expert Comment

ID: 38824746
Thanks,  Last_Free_Man.

You've got matthewspatrick involved and as he is exactly the right expert for this, I'm going to quietly leave!

Regards,
Brian.
0

LVL 92

Expert Comment

ID: 38825168
Sample file(s) would be helpful :)
0

Author Comment

ID: 38828114
Example attached.

It contains cyrillic symbols.
If you can't read then please write here and I will make transliteration.

2013-01-28-Example-for-EE.xlsm
0

LVL 92

Accepted Solution

Patrick Matthews earned 500 total points
ID: 38828564
I'm usually game for RegExp work; indeed, I wrote one of the definitive articles on using RegExp with Excel: http://www.experts-exchange.com/Programming/Languages/Visual_Basic/A_1336-Using-Regular-Expressions-in-Visual-Basic-for-Applications-and-Visual-Basic-6.html

However, doing that with cyrillic characters is going to be over my head.

I think you should use Request Attention to ask the Mods to add more zones (Regular Expressions, Perl, and JavaScript make sense), and send out alerts for Designated Experts.

Patrick
0

Author Comment

ID: 38829924
Dear Patrick!

Yours arcticle is brilliant!

Thank you very much!
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calculâ€¦
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

#### 831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.