Solved

Identify similar groups of numbers

Posted on 2013-02-04
7
192 Views
Last Modified: 2013-02-04
I have sets of six numbers.

I have selected all possible groups of three from each set of six numbers.

I have to cross examine between sets in order to identify where there are similarities.

This means if I find a set of three numers (eg 15,60,75) in one set of six numbers (eg 15,20,50,60,65,75), I have to inspect all other sets of six numbers to try and find the same.

I have to do this for all possible sets of three numbers from all sets of six.

on the worksheet that I have attached, I have separated out the "sets of three" for visual purposes, as I also have to be able to look through this list like this.
I would like to colour the cells of similar "sets of three numbers" the same colour. But each set pair found after that would require a different colour to be applied.

Would it be possible (without altering the cells of the original sets of six) to go through all of these sets of three numbers and identify other identical sets ?
select-groups-of-3.xls
0
Comment
Question by:MichaelGlancy
  • 4
  • 3
7 Comments
 
LVL 45

Expert Comment

by:Martin Liss
ID: 38851640
Looking at the data it seems that all sets of three have a duplicate since rows 3 and 4 are the same as 7 and 8. So if you run this code against that data all the sets of 3 will be highlighted, but maybe your real data is different.


Sub IdentifyDuplicates()

Dim lngLastRow As Long
Dim lngLastColumn As Long
Dim lngRow As Long
Dim lngCol As Long
Dim DupeSets() As Sets
Dim strSet As String
Dim lngFind As Long
Dim bFound As Boolean

ReDim DupeSets(0)
lngLastRow = Range("A65536").End(xlUp).Row
lngLastColumn = Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious).Column

For lngRow = 3 To lngLastRow
    If Cells(lngRow, 1) <> "" Then
        For lngCol = 9 To lngLastColumn Step 4
            strSet = Cells(lngRow, lngCol) & Cells(lngRow, lngCol + 1) & Cells(lngRow, lngCol + 2)
                    bFound = False

            For lngFind = 0 To UBound(DupeSets)
                If strSet = DupeSets(lngFind).strCells Then
                    bFound = True
                    Exit For
                End If
            Next
            If bFound Then
                Range(DupeSets(lngFind).strAddr).Interior.Color = vbYellow
                Range(DupeSets(lngFind).strAddr).Offset(0, 1).Interior.Color = vbYellow
                Range(DupeSets(lngFind).strAddr).Offset(0, 2).Interior.Color = vbYellow
                Range(Cells(lngRow, lngCol), Cells(lngRow, lngCol + 2)).Interior.Color = vbYellow
            Else
                DupeSets(UBound(DupeSets)).strCells = strSet
                DupeSets(UBound(DupeSets)).strAddr = Cells(lngRow, lngCol).Address
                ReDim Preserve DupeSets(UBound(DupeSets) + 1)
            End If

        Next
    End If
Next
End Sub

Open in new window

0
 

Author Comment

by:MichaelGlancy
ID: 38851654
thankyou I will try that. the data I gave you was a sample, purposely duplicated for demonstration. thanks again, checking now.
0
 

Author Comment

by:MichaelGlancy
ID: 38851674
I get Error

cant execute code in break mode

Dim DupeSets() As Sets is highlighted

can you help as I am new user thankyou
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:MichaelGlancy
ID: 38851675
and

user defined type not defined
0
 
LVL 45

Accepted Solution

by:
Martin Liss earned 500 total points
ID: 38851708
Sorry, I left out some code when I posted.

I've attached a workbook that contains the code. Look in Module1. IdentifyDuplicates is a macro to which I have assigned ctrl+z, so if you enter ctrl+z from the sheet the macro will execute. You could also go into the code environment select the macro and press F5.
select-groups-of-3.xls
0
 

Author Closing Comment

by:MichaelGlancy
ID: 38851851
does the job perfectly
0
 
LVL 45

Expert Comment

by:Martin Liss
ID: 38851972
Thanks and I'm glad I was able to help.

Your accepting my answer as the solution put me over the 1,000,000 point mark! Thank you.

Marty - MVP 2009 to 2012
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

We were having a lot of "Heartbeat Alerts" in our SCOM environment, now "Heartbeat" in a SCOM environment for those of you who might not be familiar with SCOM is a packet of data sent from the agent to the management server on a regular basis, basic…
The new Microsoft OS looks great, is easier than ever to upgrade to, it is even free.  So what's the catch?  If you don't change the privacy settings, Microsoft will, in accordance with the (EULA) you clicked okay to without reading, collect all the…
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.

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

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

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now