Organize scattered, similar cell values into the same columns?

AGrayson84

New Member
Joined
Mar 21, 2017
Messages
18
Hi everyone! I've been struggling on and off for the past couple of days trying to find a way to come up with a solution to my problem with a large export of data I have. I will include some pictures with some arbitrary data to help explain what I have and what I'd like to do with the data, in hopes that someone wouldn't mind giving me a little guidance, but I'll try to verbally-explain the problem first.

I have a list of computer names in column "A", and starting in column "B" I have many columns of software installed, for each of the many rows of computers. The software installed on each computer, starting in column "B", is in alphabetical order. The problem is that no every computer has the same software installed, so though many computers have the same software installed, the software is very rarely aligned with the same software in a given column. This causes an issue with filtering and reporting. For instance, if I want to filter only hosts that have a specific software installed, the results will show only computers with the that specific software in that specific column. If that software I'm filtering for exists in other columns then it gets omitted from the filter.

So I'm trying to come up with a way to either automatically align all of the same software into the same column; or maybe even automatically-generating a list of all of the various software found in the large range (often 300+ rows, and 50+ columns), placing that list across the top row of the spreadsheet, and then place a marker (maybe like an "x") in the cell corresponding to software installed on each machine in each row........ I'm open to anything that will help organize the software in order to be able to see which machine(s) have a specific software installed on them, whether it be a built-in solution within the tools of Excel than I'm unaware of, VBA, or a formula that I can place on another worksheet that will organize this data better.

Something that would be worth keeping in mind is that the list of machines, nor the list of software, will be consistent each time I need to generate a report..... and the list of computers and all of the various software is so long that I will not be able to reference the specific cell values to make this happen, since the machines and software will always be changing.

Here is an example of how the data I have looks. The colors in column A can represent the computer names, and the numbers from column B and beyond can reference the names of the software found on each computer:





And this is an example of what can possibly work, if there's a relatively easy way to do this:




I've honestly exhausted all efforts in trying to find a way to give me something to work with, between trying to find some VBA to start with, a formula that would work, or feature other than adding something like Kutools (we're not allowed to install other software/tools on our devices) to my computer. Any help and guidance would be HUGELY appreciated at this point. Thanks so much!!!
 

Some videos you may like

Excel Facts

Format cells as currency
Select range and press Ctrl+Shift+4 to format cells as currency. (Shift 4 is the $ sign).

AlanY

Well-known Member
Joined
Oct 30, 2014
Messages
3,981
Office Version
365, 2019, 2016
Platform
Windows
try this

<b></b><table cellpadding="2.5px" rules="all" style=";background-color: rgb(255,255,255);border: 1px solid;border-collapse: collapse; border-color: rgb(187,187,187)"><colgroup><col width="25px" style="background-color: rgb(218,231,245)" /><col /><col /><col /><col /><col /><col /><col /><col /><col /><col /><col /><col /><col /></colgroup><thead><tr style=" background-color: rgb(218,231,245);text-align: center;color: rgb(22,17,32)"><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th><th>H</th><th>I</th><th>J</th><th>K</th><th>L</th><th>M</th></tr></thead><tbody><tr ><td style="color: rgb(22,17,32);text-align: center;">1</td><td style=";">Red</td><td style="text-align: right;;">5</td><td style="text-align: right;;">6</td><td style="text-align: right;;">12</td><td style="text-align: right;;">9</td><td style="text-align: right;;">6</td><td style="text-align: right;;">1</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">2</td><td style=";">Yellow</td><td style="text-align: right;;">1</td><td style="text-align: right;;">2</td><td style="text-align: right;;">6</td><td style="text-align: right;;">4</td><td style="text-align: right;;">7</td><td style="text-align: right;;">1</td><td style="text-align: right;;">2</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">3</td><td style=";">Orange</td><td style="text-align: right;;">4</td><td style="text-align: right;;">2</td><td style="text-align: right;;">1</td><td style="text-align: right;;">4</td><td style="text-align: right;;">6</td><td style="text-align: right;;">6</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">4</td><td style=";">Pink</td><td style="text-align: right;;">9</td><td style="text-align: right;;">11</td><td style="text-align: right;;">8</td><td style="text-align: right;;">1</td><td style="text-align: right;;">12</td><td style="text-align: right;;">7</td><td style="text-align: right;;">7</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">5</td><td style=";">Blue</td><td style="text-align: right;;">2</td><td style="text-align: right;;">12</td><td style="text-align: right;;">2</td><td style="text-align: right;;">5</td><td style="text-align: right;;">9</td><td style="text-align: right;;">8</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">6</td><td style=";">Black</td><td style="text-align: right;;">7</td><td style="text-align: right;;">2</td><td style="text-align: right;;">4</td><td style="text-align: right;;">1</td><td style="text-align: right;;">4</td><td style="text-align: right;;">3</td><td style="text-align: right;;">1</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">7</td><td style=";">Green</td><td style="text-align: right;;">5</td><td style="text-align: right;;">12</td><td style="text-align: right;;">12</td><td style="text-align: right;;">11</td><td style="text-align: right;;">12</td><td style="text-align: right;;">9</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">8</td><td style=";">White</td><td style="text-align: right;;">7</td><td style="text-align: right;;">11</td><td style="text-align: right;;">8</td><td style="text-align: right;;">9</td><td style="text-align: right;;">1</td><td style="text-align: right;;">2</td><td style="text-align: right;;">8</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">9</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">10</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">11</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">12</td><td style="text-align: right;;"></td><td style="text-align: right;;">1</td><td style="text-align: right;;">2</td><td style="text-align: right;;">3</td><td style="text-align: right;;">4</td><td style="text-align: right;;">5</td><td style="text-align: right;;">6</td><td style="text-align: right;;">7</td><td style="text-align: right;;">8</td><td style="text-align: right;;">9</td><td style="text-align: right;;">10</td><td style="text-align: right;;">11</td><td style="text-align: right;;">12</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">13</td><td style=";">Red</td><td style="background-color: #E2EFDA;;">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">14</td><td style=";">Yellow</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">15</td><td style=";">Orange</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">16</td><td style=";">Pink</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";">x</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">17</td><td style=";">Blue</td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">18</td><td style=";">Black</td><td style=";">x</td><td style=";">x</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">19</td><td style=";">Green</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";">x</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">20</td><td style=";">White</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";"></td><td style=";">x</td><td style=";">x</td><td style=";">x</td><td style=";"></td><td style=";">x</td><td style=";"></td></tr></tbody></table><p style="width:4.8em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid rgb(187,187,187);border-top:none;text-align: center;background-color: rgb(218,231,245);color: rgb(22,17,32)">Sheet1</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: rgb(255,255,255)" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: rgb(255,255,255);border-collapse: collapse; border-color: rgb(187,187,187)"><thead><tr style=" background-color: rgb(218,231,245);color: rgb(22,17,32)"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">B13</th><td style="text-align:left">=IF(<font color="Blue">COUNTIF(<font color="Red">INDEX(<font color="Green">$B$1:$H$8,MATCH(<font color="Purple">$A13,$A$1:$A$8,0</font>),</font>),B$12</font>)>0,"x",""</font>)</td></tr></tbody></table></td></tr></table><br />
 

bobsan42

Well-known Member
Joined
Jul 14, 2010
Messages
1,343
It is not refined and far from optimized, but I think it is always best to structure the data properly and then think for presenting it.
So my solution is macro based. All data will be taken and stored in a 3 column table. then you can make sense of it any way you like e.g. pivot table.

Read the commented parts at the beginning of the code.

Code:
Option Explicit


Sub TransformData()
    
    Const DataSheetName = "Sheet1" 'change this to match your data worksheet
    'I assume column A and row 1 contain computer names and labels respectively - so they will be skipped - adjust your data accordingly for this to work properly.
    'for example simply insert an empty line on top if the first row also contains data, rather than column labels.
    
    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim sh1 As Worksheet, sho As Worksheet
    Dim rng1 As Range, rng2 As Range
    
    Set sho = wb.Worksheets(DataSheetName)
    Set sh1 = wb.Worksheets.Add
    Set rng1 = sh1.Range("A1")
    rng1.Select
    rng1.Value = "Computer"
    rng1.Offset(0, 1) = "Software"
    rng1.Offset(0, 2) = "Installed"
    
    Set rng1 = rng1.Offset(1, 0)
    
    On Error Resume Next
    For Each rng2 In sho.UsedRange
        If rng2.Row > 1 And rng2.Column > 1 Then
            If Len(CStr(rng2.Value)) > 0 Then
                rng1.Value = sho.Cells(rng2.Row, 1).Value
                rng1.Offset(0, 1) = rng2.Value
                rng1.Offset(0, 2) = "YES"
                Set rng1 = rng1.Offset(1, 0)
            End If
        End If
    Next rng2
    
    Set rng1 = Nothing
    Set rng2 = Nothing
    Set sho = Nothing
    Set sh1 = Nothing
    wb.Save
    Set wb = Nothing
    
    MsgBox "All done."
End Sub
 

gaz_chops

Well-known Member
Joined
Apr 29, 2003
Messages
6,058
Platform
MacOS
Or another option,

=IF(ISNUMBER(MATCH(B$12,OFFSET($A$1,MATCH($A13,$A$1:$A$3,0)-1,,,5),0)),"X","")
 

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
39,053
Office Version
365
Platform
Windows
Cross posted https://www.excelforum.com/excel-ge...imilar-cell-values-into-the-same-columns.html

While we do not prohibit Cross-Posting on this site, we do ask that you please mention you are doing so and provide links in each of the threads pointing to the other thread (see rule 13 here along with the explanation: Forum Rules).
This way, other members can see what has already been done in regards to a question, and do not waste time working on a question that may already be answered.
 

AGrayson84

New Member
Joined
Mar 21, 2017
Messages
18
Thank you both so much for your assistance!!!

bobsan42's solution works great because I don't need to manually build a list of all of the unique software across row "A", which is a problem with the 50+ pieces of software that will frequently be changing from one report to another.

All I had to do was remove the "Installed" column since I didn't really need it in my scenario, but it was a perfect solution-- I ran a filter against the software I wanted and I saw all of the hosts that had that software only :) Thanks again!


And thanks Fluff, sorry for that-- I wasn't aware of that, and will keep that in mind for the future :) :)
 

bobsan42

Well-known Member
Joined
Jul 14, 2010
Messages
1,343
Glad it worked out for you.
The third column was not really necessary, just a whim.
 

Watch MrExcel Video

Forum statistics

Threads
1,096,306
Messages
5,449,575
Members
405,573
Latest member
Diogo Martins

This Week's Hot Topics

Top