Compare columns & display what's unique in a separate column?

curls100

New Member
Joined
Oct 9, 2014
Messages
10
I'm comparing two columns, then displaying what's unique in Col A and not in Col B, in a 3rd column.

I found this google function to do it (it works):
=FILTER( AA2:AA , ISERROR( MATCH( AA2:AA , BB2:BB , 0 ) ) )

I need to do it in Excel. Preferably in Excel 97, but if not then in a more recent Excel.
97 includes Match, VLookup, Lookup, but not Compare.

-----
For a separate task, I'd like to compare two cols and if Col B is also in Col A then put a text string (non varied) into Col C on the same row.

Thanks for ideas!!!
 
Is it possible to do this without arrays? Are you using them because I'm working in Excel 97? Or are you using them because they are an elegant solution?

The formulas of this particular se up are valid on all Excel systems since Excel 97. The array-processing formula is appropriate here.

I'm handing this off to someone who doesn't know excel formulas at all. I'm trying to minimize my time on it, so I can learn and work on some other things. It's interesting to see these and ultimately will serve me when I do start learning more.

We're having a problem where comparing columns is a good temporary diagnositic tool for several months. I have the workaround that I've set up and tested in google spreadsheets. It'd rather do it in excel where our offline list is. So I'm hoping for a streamlined equivalent to that google formula, that I can decipher so that if /when the person calls me, I can answer questions.

Are you saying that you already have solutions in Google's spreadsheet environment?

The links are just as complicated as this. They'll be great when I'm ready to dig in more. Time priority right now is to get this up and running, and handed over.

The link tries to explain hoe the array-processing formula with the FREQUENCY function works.

....more important to me is time to go computer shopping so I can get off of vista, and get my newer copy of word/excel to work on a newer computer (it won't work on anything less than Win7).

:lookaway:

If arrays are needed to do it, I still don't understand what each formula is for and where to stick them. Where's the IVEC one go relative to the D2 formula? C2 is simply the C column's results? D1 is for which set of results? I don't know what a row specifier is, and when I googled it, three pages later I didn't have an answer. I'm sure if I look long enough I'll figure all of it out. D$2:D2 then refers to?, please, please be so kind as to tell me so from there I can derive what the symbol patterns means (how they work). (D$2 is the 2nd row all the way across? So then what's the :D2?)

ROWS(D$2:D2) is 1 for ROWS counts the rows in a range and D$2:D2 is a range. When the formula is copied down, it becomes ROWS(D$2:D3) = 2, ROWS(D$2:D4) = 3, etc.

The role of this expression is threefold:

1) It binds the array-processing formula to cell D2.

2) It serves as a counter: As is clear from the array-processing formula that creates the results in column D, the IF(ROWS(D$2:D2)<=D$1 bit refers to the count in D1 (which in effect calculates the number of the result records). This bits makes the formula to produce blanks when ROWS(...) > D$1.

3) The SMALL bit requires a parameter that tells this function which smallest value to pick up: 1st, 2nd, etc. ROWS(...) fulfills that role too.

The formula in C delivers the result for your second problem.

Thanks very much for your help. There's plenty to learn.

You are welcome. Yes, it's a lot.
 
Upvote 0
Thanks for the explanations!! If I read them a few more times, they'll start to make sense on the $ references. Or when I have a copy of excel working, that had the tutorial working too. (In excel 97 it's disabled by now.)

Yes I have it working in google spreadsheets. I'd put that in the original question, but not very clearly said. I posted the formula that's working for me, and that I'd tested it. So a conversion of that formula into an Excel formula would be easy, straightforward way to approach this.

Why array-processing when there would be other tools that would work here? It's appropriate to the problem, but I'd think dependence on Excel built in commands would be find for this problem too in this situation. (It's a non-profit volunteer group and workaround for a yahoo ggroups glitch -- not a critical work task environment with long term maintenance (where non-reliance on tool specific functions that may come and go, is a poor dea.)

On that note, is there a set of commands that will replace the FILTER function's function in the google formula, since the other two google functions are nearly identical in excel. Vlook maybe?

On a very side note on computer shoppping, I'm debating between spending the extra $1000 to get a mac pro vs any one of the wider but shorter- screened (16:9 instead of 16:10 ratio) windows. Do you have any sites you particularly like for getting an opinion on the contrast of mac to others? Just asking -- not relevant to anything directly.
 
Upvote 0
Thanks for the explanations!!

I think the array set up is not going to work in your environment... So, what follows is a non-array, very fast set up...

[TABLE="class: grid"]
<tbody>[TR]
[TD]Row\Col[/TD]
[TD]
A​
[/TD]
[TD]
B​
[/TD]
[TD]
C​
[/TD]
[TD]
D​
[/TD]
[TD]
E​
[/TD]
[/TR]
[TR]
[TD]
1​
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]
3​
[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]
2​
[/TD]
[TD]Field-1[/TD]
[TD]Field-2[/TD]
[TD]
0
[/TD]
[TD]Field-1 Not In Field-2[/TD]
[TD]Registered?[/TD]
[/TR]
[TR]
[TD]
3​
[/TD]
[TD]jon[/TD]
[TD]jon[/TD]
[TD][/TD]
[TD]damon[/TD]
[TD]registered[/TD]
[/TR]
[TR]
[TD]
4​
[/TD]
[TD]damon[/TD]
[TD]linda[/TD]
[TD]
1
[/TD]
[TD]conrad[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]
5​
[/TD]
[TD]conrad[/TD]
[TD][/TD]
[TD]
2
[/TD]
[TD]dave[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]
6​
[/TD]
[TD]jon[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]registered[/TD]
[/TR]
[TR]
[TD]
7​
[/TD]
[TD]dave[/TD]
[TD][/TD]
[TD]
3
[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]
8​
[/TD]
[TD]linda[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]registered[/TD]
[/TR]
</tbody>[/TABLE]


Activate Formulas | Name Manager.
Enter BigNum in the Name box.
Enter the following in the Refers to box:

=9.99999999999999E+307

Click OK.

Problem 1

C2: 0 (This is mandatory.)

C3, just enter and copy down:

=IF(ISNUMBER(MATCH(A3,B:B,0)),"",LOOKUP(BigNum,$C$2:C2)+1)

D1, just enter:

=LOOKUP(BigNum,C:C)

D3, just enter and copy down:

=IF(ROWS($D$3:D3)<=$D$1,LOOKUP(ROWS($D$3:D3),C:C,A:A),"")

The foregoing is the solution of your first problem.

Problem 2

E3, just enter and copy down:

=IF(ISNUMBER(MATCH(A3,B:B,0)),"registered","")

The foregoing is the solution of your second problem.

On a very side note on computer shoppping, I'm debating between spending the extra $1000 to get a mac pro vs any one of the wider but shorter- screened (16:9 instead of 16:10 ratio) windows. Do you have any sites you particularly like for getting an opinion on the contrast of mac to others? Just asking -- not relevant to anything directly.

No idea, but I'd like to get a Mac myself.
 
Upvote 0
. Hi curls100<o:p></o:p>
<o:p> </o:p>
. I am coming in a bit late here, I had prepared a reply to you much earlier today, just before I had a major computer problem.. I was basically replying to you from around Post #10. I see Aladin has made some progress in the meantime, but I post anyway in case some of what i prepared could be of use still..<o:p></o:p>
<o:p> </o:p>
.<o:p></o:p>
. This is one of a Threads I have been Straggling and struggling through the last couple of weeks in a short digression into trying to get some understanding of “CSE” Curly Bracket Stuff.... I tend to got through making notes.<o:p></o:p>
<o:p> </o:p>
. Maybe I can help a bit if I paste some of my notes..and try not to overdo it too much.. I make a start at giving an initial idea of how I try to understanding the Formulas. Then finally give you a VBA solution which you may wish to consider as an alternative...<o:p></o:p>
<o:p> </o:p>
Formulas...<o:p></o:p>
<o:p> </o:p>
. Taking very basic Maths - when you do Array operations you are doing operations on more than 1 item. After that what Excel with it’s “CSE” stuff seems to lose any direct sensible mathematical comparison. Experts I have heard arguing about whether Excel has any Array Formulas or not. I like to think of it, ( Incorrectly probably – just light- heartedly), that the makers of Excel got it wrong the first time around, and made up a complicate “CSE” thing to hide their embarrassment. I think the whole CSE curly bracket stuff just..
…….. warns/signal Excel that the formula in question is an array-processing formula……..
. Then a different set of VBA Code come in to handle them and „get the calculating right to suit „Array – Type“ Maths.. So I expect the whole story has been written such as that you will never get a clear answer. Anyone, like Aladin that really gets close to understanding these things is just a
Genius.. or is just working from instinct based on a lifetimes experience, and understands it as little as us. I am not sure which. ..I expect he may be both a genius and have a life time’s experience..<o:p></o:p>

. But after a while you get the feel, I think, of how “Excel works” here, and there are similarities with VBA Code workings… I find VBA an order of magnitude easier.....<o:p></o:p>
<o:p> </o:p>
Formula 1<o:p></o:p>
<o:p> </o:p>
. I guess we are both fairly happy with the formula given by Aladin for column C. <o:p></o:p>
<o:p> </o:p>
=IF(ISNUMBER(MATCH(A2,$B$2:$B$3,0)),"registered","")<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
. But worth a look as the ISNUMBER(MATCH( bit comes in later in the more difficult Formulas..<o:p></o:p>
<o:p> </o:p>
. The MATCH(A2,$B$2:$B$3,0)<o:p></o:p>
<o:p> </o:p>
Gives the “row” down where you find the value in cell A2 in the fixed ( fixed is by virtue of the $ ) of the Range B2:B3 (- You could call it Array B2:B3 rather than Range if you like)<o:p></o:p>
.( Don’t worry about the third argument ,0 for now )<o:p></o:p>
<o:p> </o:p>
. If you click in cell C2 , then click in the Formula Bar above you should see the formula displayed . If on that formula you Highlight this bit MATCH(A2,$B$2:$B$3,0) and hit F9, you will see this =IF(ISNUMBER(1),"registered","") <o:p></o:p>
. I think the formula is therefore self explanatory, - The 1 IS a NUMBER so it returns the “If” value registered<o:p></o:p>
. Important: you have finished looking at the inside of your formula now, so hit Esc or Ctrl Z and you should see the formula normally again.<o:p></o:p>
. If you do the above again for cell C3 you get =IF(ISNUMBER(#N/A),"registered","") <o:p></o:p>
. Putting it into English.. the MATCH( couldn’t find the row with the value in C3 in it so it returned an error. As that is not a number you get the “otherwise” value "" which is nothing or empty however you like to look at it.<o:p></o:p>
<o:p> </o:p>
. I said all that above. because the F9 trick makes some formulas ( even simple “CSE” ones are fairly simple to understand as you can see what is going on in the formula )<o:p></o:p>
. A further good tip here is that although we have not really got into “CSE” stuff yet, we have actually started playing with Arrays in Excel... Using the $ has fixed B2:B3 to a fixed “Range” or “Array” ( $B$2:$B$3 ) the 2 in A2 is purposely not given a $ so it changes value ( as these things tend to – as Excel “guesses” what you want ) when you drag the formula down.. ( to drag down you select the cell and click and hold on the tiny black square at the right bottom corner of this cell, and drag that one formula down)<o:p></o:p>
. ( I might consider fixing the A so I would write $A2 ). <o:p></o:p>
<o:p> </o:p>
. When you start trying to figure out any formula, I find it is a good idea to look at any Fixed “Arrays” and maybe then after exposing them with the F9 trick you copy the exposed bit to the Clipboard and paste in a WORD or text document for later reference ...<o:p></o:p>
<o:p> </o:p>
. Going on to the next formula... well ..... that is what I have been doing this week, going through peoples Threads and trying to understand these “Formulas” . Everything Aladin said is correct, I am sure, for example named ranges are better, etc.. Personally at this stage I would I find it easier to start with such a formula in the full form.<o:p></o:p>
<o:p> </o:p>
Formula 2) in D1 (The number of people who have not registered)<o:p></o:p>
<o:p> </o:p>
. At this point I might suggest not thinking too much, about “CSE” stuff, unless you have a bit of time, then make a coffee, read the following, but don’t take it too seriously...just some very light – hearted notes I wrote.. - “puts my mind “ a bit at rest about the whole “CSE” story...<o:p></o:p>
<o:p> </o:p>
https://app.box.com/s/avk6paydbtame1hz7ge5zenh6ll1p35e<o:p></o:p>
<o:p> </o:p>
=SUM(IF(FREQUENCY(IF($A$2:$A$7<>"",IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0))),ROW($A$2:$A$7)-ROW(INDEX($A$2:$A$7,1,1))+1),1))<o:p></o:p>

<o:p> </o:p>
. At this point I would have reluctantly given up with this Thread and looked for another.... It is just way above my current ability, or rather the time I have free currently!! But as Aladin made a start I think I can get there: - <o:p></o:p>
. I do not need to copy and paste out any fixed Array as the Names Array is the only one and is clear to see in the spreadsheet. ( In this respect the formula is kind. Usually the Arrays are deep in the formula and you only have the F9 trick to see them )<o:p></o:p>
. This “Ivec” thing<o:p></o:p>
ROW($A$2:$A$7) - ROW(INDEX($A$2:$A$7,1,1)) + 1<o:p></o:p>
looks fixed so I will get that out of the way with the F9 trick.<o:p></o:p>
. It reveals<o:p></o:p>
<o:p> </o:p>
{2;3;4;5;6;7} - ROW( name1 ) + 1<o:p></o:p>
<o:p> </o:p>
{2;3;4;5;6;7} - 2 + 1<o:p></o:p>
{2;3;4;5;6;7} - 1<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
. I think it is obvious what ROW( is giving you, (and Aladin explained that ), and clearly INDEX( gives you the name that is at the row 1 and column 1 in the names “Array” $A$2:$A$7 <o:p></o:p>
<o:p> </o:p>
. To get the final result you need to learn a bit about how Excel “works” here. As you “warned” Excel of “The coming of Arrays” as it were it would in this case take each of the values in the 1 dimensional “pseudo” horizontal Array <o:p></o:p>
<o:p> </o:p>
And apply in turn the -1 to it, returning. “This “applying in turn” is an indication we are playing with Arrays<o:p></o:p>
{1;2;3;4;5;6}<o:p></o:p>
<o:p> </o:p>
Or in English Ivec, in our case, is {1;2;3;4;5;6}<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
. – I have not quite got to Aladin’s .....“....the definition of Ivec (a contraction of integer vector). It serves as bins array for the FREQUENCY function.....”.... yet, but good to have in the head as I look further . I see this last bit in Formulas a lot and maybe it just gives the indicia ( or “row” ) starting at 1 for the Array in question. Sort of “Normalises” the indicia. As it is used so much I guess it makes sense to give it a name and “get it out of the way” before you start!!”<o:p></o:p>
<o:p> </o:p>
. So we have <o:p></o:p>
<o:p> </o:p>
SUM(IF(FREQUENCY(IF($A$2:$A$7<>"",IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0))),{1;2;3;4;5;6}),1))<o:p></o:p>

<o:p> </o:p>
. At this point I am usually lost where to look next.... so I just go and F9 off for a while and look every where<o:p></o:p>
..... so I did. I am back now...<o:p></o:p>
<o:p> </o:p>
. SUM( looks like sumthing familiar, and it is summing this {FALSE;1; FALSE; FALSE; FALSE;1; FALSE }, and getting 2<o:p></o:p>
<o:p> </o:p>
. I have never encountered FREQUENCY( .. so that is probably one thing I am learning now from this Thread<o:p></o:p>
I took the liberty to change the formula to this<o:p></o:p>
SUM(IF(FR........................................ $7,0))),{1;2;3;4;5;6}),1, "Not a one"))<o:p></o:p>
And then SUM( gives me<o:p></o:p>
{"Not a one";1;"Not a one";"Not a one";"Not a one";1;"Not a one"}<o:p></o:p>
And the formula still works, so clearly the IF( was being used without it’s Else condition ( relying on the default Else condition , which as in the normal IF Function is FALSE ) - anything other than a number is clearly ignored. That’s handy! <o:p></o:p>
<o:p> </o:p>
. To get a 1 FREQUENCY( seems to be doing something 7 times. A quick Google says FREQUENCY only works as a CSE thing, ( not surprising then that I never heard of it..=<o:p></o:p>
. It only works as a “CSE” thing apparently, as it returns an Array. It’s second argument ibeing “a Bin!?” our <o:p></o:p>
{1;2;3;4;5;6} <o:p></o:p>
and the first argument from F9 trick gives <o:p></o:p>
{FALSE;2;FALSE;2;FALSE;6}<o:p></o:p>
And the final result, the “Array” returned by the FREQUENCY( gives
{0;2;0;0;0;1;0}<o:p></o:p>

<o:p> </o:p>
. I took a liberty again and changed this <o:p></o:p>
IF(FR........................................ $7,0))),{1;2;3;4;5;6}),1, "Not<o:p></o:p>
. To this<o:p></o:p>
IF(FR........................................ $7,0))),{1;2;3;4;5;6}) > 0.1234 ,1, "Not<o:p></o:p>
And get this<o:p></o:p>
{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE}<o:p></o:p>
. The SUM( still gives the same results. In English IF( initially “presented” the Array to consider against some condition. (By default the 0s are taken as the condition not being met, or rather are not actually 0s but empties, which in this case our F9 lets us down a bit – as it is not quite showing what is there. This is , I expect,because it actually does an instant evaluation, so it actually evaluates what is there - a space, and so it returns a 0, just as does writing =A1 somewhere in a cell in a spreadsheet when A1 is empty ) <o:p></o:p>
. Then my modification gave it something to check all these 7 things against,.... so it returned the Boolean Stuff<o:p></o:p>
<o:p> </o:p>
. So “working” again as Excel does ... ( In its “CSE” mode ) , for FREQUENCY( . It is looking initially for the occurrences ( “how frequent” , or “frequency thereof” ) values the ranges. ..... to 1, 1 to 2 , 2 to 3 , 3 to 4 , 4 to 5, 5 to 6 , 6 to ..... It never finds anything in the range to 1 . So It returns a 0. It does the same for things in the range 1 to 2 and finds 2 . The only other thing it finds is one entry in the range 5 to 6. ( Note it also looks in the range from 6, finds nothing so we have a 7TH 0 output in Our array, one more than the “Bins”. We see now “Bins” means effectively a box, or pigeon hole where things in the given ranges are found. So FREQUENCY( finds its most use if we are looking for something like scores in certain score ranges.. The “Bins” would likely not have so regular intervals usually in such an application....<o:p></o:p>
<o:p> </o:p>
. We need to somehow see now how we got the first argument for FREQUENCY( <o:p></o:p>
<o:p> </o:p>
. As often IF is used to get an Array, Delving into the “deepest one” <o:p></o:p>
<o:p> </o:p>
IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0))<o:p></o:p>

<o:p> </o:p>
. We should recognise the following bit from our very first Formula 1)<o:p></o:p>
<o:p> </o:p>
ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0))<o:p></o:p>
<o:p> </o:p>
MATCH($A$2:$A$7,$B$2:$B$3,0)<o:p></o:p>
Gives<o:p></o:p>
{1;#NV;2;#NV;1;#NV}<o:p></o:p>
It takes in turn each value in the first ( Look Up Value ) argument $A$2:$A$7 our names array. Bit confusing here as often this first argument is one value which is looked for in the second argument which mostly is an Array. But Excel is working in its “”CSE” Array modus, and takes in turn each value in the first argument, comparing it in the second argument array $B$2:$B$3 . Either it finds it returning the position “ down” or errors.<o:p></o:p>
As with our formula 1) we obtain, if in this Array a NUMBER IS , the corresponding Array <o:p></o:p>
{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE} <o:p></o:p>
<o:p> </o:p>
. A small modification <o:p></o:p>
1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0))<o:p></o:p>
Results in<o:p></o:p>
{0;1;0;1;0;1}<o:p></o:p>
. this is a “trick that both changes the “Boolean” to a number and switches it..<o:p></o:p>
<o:p> </o:p>
. This last Array is being presented , as it were, to say which entries are to be taken ( meet the IF condition ) in the Array given by <o:p></o:p>
<o:p> </o:p>
MATCH($A$2:$A$7,$A$2:$A$7,0)<o:p></o:p>
Which gives <o:p></o:p>
{1;2;3;2;1;6}<o:p></o:p>
. <o:p></o:p>
<o:p> </o:p>
So this IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0)) is as already encountered a If without a third argument so true ( or 1 ) gives us what we “have” and a FALSE ( or 0 ) <o:p></o:p>

<o:p> </o:p>
{FALSCH;2;FALSCH;2;FALSCH;6}<o:p></o:p>
<o:p> </o:p>
We appear to be there... and this<o:p></o:p>
<o:p></o:p>
=SUM(IF(FREQUENCY(IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0)),ROW($A$2:$A$7)-ROW(INDEX($A$2:$A$7,1,1))+1)>0.1234,1,"Not a one"))<o:p></o:p>

<o:p> </o:p>
<o:p> </o:p>
Would mostly work, but it is made more rugged to check for not giving us an entry in the final array if a cell is empty in the Names column.<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
. 3 ) Formula 3<o:p></o:p>
<o:p> </o:p>
=IF(ROWS(D$2:D2)<=D$1,INDEX($A$2:$A$7,SMALL(IF(FREQUENCY(IF($A$2:$A$7<>"",IF(1-ISNUMBER(MATCH($A$2:$A$7,$B$2:$B$3,0)),
MATCH(
$A$2:$A$7,$A$2:$A$7,0))),ROW($A$2:$A$7)-ROW(INDEX($A$2:$A$7,1,1))+1),ROW($A$2:$A$7)-ROW(INDEX($A$2:$A$7,1,1))+1),ROWS(D$2:D2))),"")<o:p></o:p>

<o:p> </o:p>
. I would dearly love to go through this as I did in formula 2). It would follow the same reasoning as previously. If I find a Month spare I will. Maybe If I am likely someone will ask Aladin and he could explain it fully, if he can. I expect he probably could<o:p></o:p>
<o:p> </o:p>
..................................................................<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
VBA Solution<o:p></o:p>
. Just as way of comparison..... the above took me best part a day to work out and get clear in my head.. And I have not attempted the difficult bit. ( yet... )<o:p></o:p>
. The below code took me about three quarters of an hour. Admittedly I copied a few bits from Threads I had answered. But most I wrote from scratch, and I am only just getting proficient in basic VBA programming for simple sorting and re-organising of data.<o:p></o:p>
. Two versions, one fairly simplified, and a further that is actually the same VBA just desecrated with my explaining ‘Green Comments, as I do.. <o:p></o:p>
<o:p> </o:p>
. I find the code an order of magnitude easier to follow than the small bit of the total formula solution from this thread..<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
. Hope I have not confused you more by introducing you to VBA, but I thought it could be helpful at this early stage in helping you to decide in which direction to go.. I expect even if you have as little idea of VBA Code as you do with formulas, then I could probable give you a few instructions, which if you carefully follow you could get the code up and running... <o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
. Alan<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
Code: <o:p></o:p>
<o:p> </o:p>
Code:
[color=blue]Option[/color][color=blue]Explicit[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Sub[/color]GetUnregisteredSHimplfGlified()<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'SomeInitilal Dimensioning, getting of Data[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]ws1 [color=blue]As[/color] Worksheet: [color=blue]Set[/color] ws1 =ThisWorkbook.Worksheets("CurlyAladinVBA")<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrIn() [color=blue]As[/color] Variant: [color=blue]Let[/color] arrIn() =ws1.Range("A1").CurrentRegion.Value<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrOut() [color=blue]As[/color] [color=blue]String[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]ReDim[/color]arrOut(1 [color=blue]To[/color] [color=blue]UBound[/color](arrIn(), 1), 1 [color=blue]To[/color]2)<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]r1 [color=blue]As[/color] [color=blue]Long[/color], r2 [color=blue]As[/color] [color=blue]Long[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]lr2 [color=blue]As[/color] Long: [color=blue]Let[/color] lr2 =ws1.Cells(Rows.Count, 2).End(xlUp).Row<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrField2() [color=blue]As[/color] Variant: [color=blue]Let[/color] arrField2()= ws1.Range("B2:B" & lr2 & "").Value<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]TempName [color=blue]As[/color] [color=blue]String[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'ObtainList for Unique names[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]lshtc [color=blue]As[/color] Long: [color=blue]Let[/color] lshtc =ws1.Columns.Count<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Let[/color] ws1.Cells(1, lshtc)= "Unique"<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](arrIn(), 1) [color=blue]Step[/color] 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color][color=blue]Error[/color] [color=blue]Resume[/color] [color=blue]Next[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]If[/color]ws1.Cells(r1, 1) <> "" AndApplication.WorksheetFunction.Match(ws1.Cells(r1, 1), ws1.Columns(lshtc), 0) =-1234 [color=blue]Then[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            ws1.Cells(ws1.Rows.Count,lshtc).End(xlUp).Offset(1) = ws1.Cells(r1, 1)<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]End[/color] [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Next[/color] r1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]GoTo[/color] TheEnd<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Dim[/color] myarr() [color=blue]As[/color][color=blue]Variant[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    myarr() =Application.WorksheetFunction.Transpose(ws1.Columns(lshtc).SpecialCells(xlCellTypeConstants,xlTextValues).Value)<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    ws1.Columns(lshtc).Delete<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        <o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'Loopto put "Registered in appropriate place in Output Array[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](arrIn(), 1) [color=blue]Step[/color] 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]If[/color]arrIn(r1, 1) <> "" [color=blue]Then[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]For[/color] r2 = 2 [color=blue]To[/color]lr2 [color=blue]Step[/color] 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]If[/color] arrIn(r1, 1)= arrIn(r2, 2) [color=blue]Then[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]           [color=blue]Let[/color] arrOut(r1, 1) = "Registered"<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]End[/color] [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]Next[/color] r2<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]End[/color] [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Next[/color] r1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'Loopto Put unregistered names in Array[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]rout [color=blue]As[/color] Long: [color=blue]Let[/color] rout = 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](myarr) [color=blue]Step[/color] 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Let[/color] TempName =myarr(r1)<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]Resume[/color] [color=blue]Next[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]If[/color]Application.WorksheetFunction.Match(TempName, arrField2(), 0) = -1234 [color=blue]Then[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Let[/color] rout = rout + 1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Let[/color] arrOut(rout, 2)= TempName<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]End[/color] [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]GoTo[/color] TheEnd<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Next[/color] r1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'Outputresuls to shaeet[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Let[/color]ws1.Range("C1").Resize(UBound(arrOut(), 1), 2).Value = arrOut()<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Let[/color]ws1.Range("A1").Resize(1, 4).Value = Array("Field1","Field2", "Registered", "Not Registered")<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]TheEnd:<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]End[color=blue]Sub[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]'<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Sub[/color]GetUnregistered() 'http://www.mrexcel.com/forum/excel-questions/857924-compare-columns-display-whats-unique-separate-column.html<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'1) Some initilal dimensioning, geting Spreadsheet data / info[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]ws1 [color=blue]As[/color] Worksheet: [color=blue]Set[/color] ws1 =ThisWorkbook.Worksheets("CurlyAladinVBA") [color=lightgreen]'Giveabreviation method, properies etc. of worksheets object obtained by typing.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrIn() [color=blue]As[/color] Variant: [color=blue]Let[/color] arrIn() =ws1.Range("A1").CurrentRegion.Value [color=lightgreen]'Dynamic Arrayfor "Capture" of Spreadsheet, using the VBA allowed "oneliner" to assign an Array to values of cells in a range. So must be avariant as it sees the Range object as it is assigned a collection[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrOut() [color=blue]As[/color] [color=blue]String[/color] [color=lightgreen]'Thisis a non Dynamic array to have values asigned in the following loop, so we candefine it's type. Here String ic conveniant for names and numbers.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]ReDim[/color]arrOut(1 [color=blue]To[/color] [color=blue]UBound[/color](arrIn(), 1), 1 [color=blue]To[/color]2) [color=lightgreen]'Output Array given maximuum possible size. Must use reDimas [color=blue]Dim[/color] only takes numbers, not variables[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]r1 [color=blue]As[/color] [color=blue]Long[/color], r2 [color=blue]As[/color] [color=blue]Long[/color][color=lightgreen]' Rows of Input Array[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]lr2 [color=blue]As[/color] Long: [color=blue]Let[/color] lr2 =ws1.Cells(Rows.Count, 2).End(xlUp).Row [color=lightgreen]'Apply Propertv .[color=blue]End[/color]on Range( cell ) at end of sheet in Column , this returns a new range ( lastcell with something in ) form which the Row Property returns the Row.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    <o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'2) Loop to get Registered names[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](arrIn(), 1) [color=blue]Step[/color] 1 [color=lightgreen]'Godown the "Rows" in the Inputed Array and...[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]If[/color] arrIn(r1, 1)<> "" [color=blue]Then[/color] [color=lightgreen]' check forempty cell first "column", if not...[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]For[/color] r2 = 2 [color=blue]To[/color]lr2 [color=blue]Step[/color] 1  [color=lightgreen]'foreach row look again down each just as far as the last entry in column 2[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]If[/color] arrIn(r1, 1)= arrIn(r2, 2) [color=blue]Then[/color]  [color=lightgreen]'Seeif a name match is found, then if it is The person is registered so...[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]Let[/color] arrOut(r1,1) = "Registered"  [color=lightgreen]'put"Registered" in the outpout array in the same row that they appear in"column1"[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]Else[/color] [color=lightgreen]'Thecurrent Name in column 1 is not (yet) found in column 2 so do nothing yet'(Redundant code line )[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]End[/color] [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]Next[/color] r2 [color=lightgreen]'Gotto next row for column 2 name[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Else[/color] [color=lightgreen]'Forcase of empty cell do nothing'( Redundant code Line )[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        End [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Next[/color] r1 [color=lightgreen]'Goto next row for next column 1 name[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]<o:p>[FONT=Times New Roman][SIZE=3] [/SIZE][/FONT]</o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'3) Get a unique list of names and check uisng Match function to see if they arealso in column 2[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]  [color=lightgreen]'3a) make an Array forUnique Search values, using a Tempory column[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]lshtc [color=blue]As[/color] Long: [color=blue]Let[/color] lshtc =ws1.Columns.Count [color=lightgreen]'Number of Columns in sheet...### used ascolumn number for tempory unique column...[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Let[/color] ws1.Cells(1, lshtc)= "Unique" [color=lightgreen]'...###The last Column inn the sheet isused. (This has an advantage of not interfering with our Method for gettinglc). Here just for fun we give the array, that is to say the tempory column, aheading[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](arrIn(), 1) [color=blue]Step[/color] 1 [color=lightgreen]'Goingdown all rows  from just after heading inFirst sheet[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]Resume[/color] [color=blue]Next[/color] [color=lightgreen]''Thiserror handler is for the predicted error if no match, so below line errors inwhich case we go on at the line just after the next[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]If[/color]ws1.Cells(r1, 1) <> "" AndApplication.WorksheetFunction.Match(ws1.Cells(r1, 1), ws1.Columns(lshtc), 0) =-1234 [color=blue]Then[/color] [color=lightgreen]'provided something is there,we check to see if that value is already in our vLook Up Array by looking tosee for a match. If it is not there then, the predicted error occurs.......Thisis part of "Match On Error Pair" trick for getting Unique values.(See here http://www.excelforum.com/excel-new-users-basics/1072093-match-with-on-error-on-error-resume-next-works-on-error-goto-only-works-once-err-clear.html  ). Otherwisde it does not crash as it gets aLong Number, ( the indicie going down the row, 1 , 2 , 3 or 4 etc. ) - But itwill not get -1234 ! - it accepts thogh syntaxly this as OK, - most peoplewrite 0 here.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            ws1.Cells(ws1.Rows.Count, lshtc).[color=blue]End[/color](xlUp).Offset(1)= ws1.Cells(r1, 1) [color=lightgreen]'.....So Put  it there.. The "Trick" is - if theabove Match errors as no match is found, the "Resume Next" means"[color=blue]Next[/color] line" so we come here on error and actuallydo what normally would be done after "Then" If the [color=blue]If[/color]condition was met!![/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            [color=blue]Else[/color] [color=lightgreen]'Elsedo nothing[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]            End [color=blue]If[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Next[/color] r1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]GoTo[/color] TheEnd [color=lightgreen]'We no longer expecting anerror, so we switch back on the error handler for unexpected errors[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    Dim myarr() [color=blue]As[/color] [color=blue]Variant[/color][color=lightgreen]'Array for Unique search criteria. Important to get this [color=blue]Dim[/color]ensioningright. Variant must be used as below initially an object is seen...>> http://www.excelforum.com/excel-new-users-basics/1058406-range-dimensioning-range-and-value-referencing-and-referring-to-arrays.html[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    myarr() = Application.WorksheetFunction.Transpose(ws1.Columns(lshtc).SpecialCells(xlCellTypeConstants,xlTextValues).Value) [color=lightgreen]'just a complicated but nice one-linerway of getting just the values and no empty cells in the Array.XlcellTypeConstants just gives constants, the second argument is the type. HereStrings are there as the heading made sure of that - here excel guessed basedon that due to the heading string "Unique".. This could be anuntypical case where that second argument could be left out. Transpose is justto get the Array as A Row of Columns which we need rather than a Column of rowsas is in the tempory Column.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    ws1.Columns(lshtc).Delete [color=lightgreen]'Deletethe tempory Column (Delete is usually better than Clear.. >>  http://www.mrexcel.com/forum/excel-questions/787428-clear-delete-shift-%3Dxlup-let-y-%3D-y-%96-1-usedrange-rows-count-anomale.html[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=lightgreen]'---[color=blue]End[/color]of making an Array----------------------------------------[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"] <o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]  [color=lightgreen]'3b)uisng match function tosee if the uniques occur in column 2[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]arrField2() [color=blue]As[/color] Variant: [color=blue]Let[/color] arrField2()= ws1.Range("B2:B" & lr2 & "").Value [color=lightgreen]'Arrayfor use in Match second "Array" Argument.[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Dim[/color]TempName [color=blue]As[/color] [color=blue]String[/color] [color=lightgreen]'Temporyname needed for unregistered search as Match Function willnot take arrayelement as firsd argument[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]Dimrout [color=blue]As[/color] Long: [color=blue]Let[/color] rout = 1 [color=lightgreen]'Rowin output Array column 2[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]For[/color] r1 = 2 [color=blue]To[/color][color=blue]UBound[/color](myarr) [color=blue]Step[/color] 1 [color=lightgreen]'[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    [color=blue]Let[/color] TempName =myarr(r1)<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]Resume[/color] [color=blue]Next[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]If[/color]Application.WorksheetFunction.Match(TempName, arrField2(), 0) = -1234 [color=blue]Then[/color][color=lightgreen]'Using similar method to above to go to next line if no matchfound and Match function errors[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Let[/color] rout = rout + 1[color=lightgreen]'Increase output row to next free[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Let[/color] arrOut(rout, 2)= TempName<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]Else[/color] [color=lightgreen]'Hadno error, got a match indicie, but not -1234!!! So we have this name in theunique name lists[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        End If<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]        [color=blue]On[/color] [color=blue]Error[/color][color=blue]GoTo[/color] TheEnd<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]    Next r1<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'Outputto sheet[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Let[/color]ws1.Range("C1").Resize(UBound(arrOut(), 1), 2).Value = arrOut() [color=lightgreen]'Atypical step that looks cleverer then it is, I resize first cell to a rangeincluding all reulzs I want, and then VBA lets me assign the values in a oneliner, by making the rabe values = to that Array[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=blue]Let[/color]ws1.Range("A1").Resize(1, 4).Value = Array("Field1","Field2", "Registered", "Not Registered") [color=lightgreen]'Similarto the above, resize A1 to 4 columns, 1 row, Put the headings in a Array andthen as above put Array to the cells in a simple = step[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]The[color=blue]End[/color]:<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"][color=lightgreen]'Normallyput anything here that should be done  inthe case of an error[/color]<o:p></o:p>[/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][COLOR=gray][FONT="Arial"]End[color=blue]Sub[/color] [color=lightgreen]'GetUnregistered[/color]
<o:p></o:p>

<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
.. The codes takes this:<o:p></o:p>
<o:p> </o:p>
Using Excel 2007<o:p></o:p>
[Table="width:,class:grid"][tr][td]-[/td][td]
A
[/td][td]
B
[/td][/tr]<o:p></o:p>

[tr][td]
1
[/td][td][/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
2
[/td][td]name1[/td][td]name1[/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
3
[/td][td]name2[/td][td]name3[/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
4
[/td][td]name3[/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
5
[/td][td]name2[/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
6
[/td][td]name1[/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
7
[/td][td]name4[/td][td][/td][/tr]<o:p></o:p>

[/table][Table="width:,class:grid"][tr][td]CurlyAladinVBA[/td][/tr][/table]<o:p></o:p>

<o:p> </o:p>
<o:p> </o:p>
..and after running euther of thecodes you get this, <o:p></o:p>
<o:p> </o:p>
Using Excel2007<o:p></o:p>
[Table="width:, class:grid"][tr][td]-[/td][td]
A
[/td][td]
B
[/td][td]
C
[/td][td]
D
[/td][/tr]<o:p></o:p>

[tr][td]
1
[/td][td]Field1[/td][td]Field2[/td][td]Registered[/td][td]NotRegistered[/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
2
[/td][td]name1[/td][td]name1[/td][td]Registered[/td][td]name2[/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
3
[/td][td]name2[/td][td]name3[/td][td][/td][td]name4[/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
4
[/td][td]name3[/td][td][/td][td]Registered[/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
5
[/td][td]name2[/td][td][/td][td][/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
6
[/td][td]name1[/td][td][/td][td]Registered[/td][td][/td][/tr]<o:p></o:p>

<o:p> </o:p>
[tr][td]
7
[/td][td]name4[/td][td][/td][td][/td][td][/td][/tr]<o:p></o:p>

[/table][Table="width:,class:grid"][tr][td]CurlyAladinVBA[/td][/tr][/table]<o:p></o:p>

 
Upvote 0
@DocAElstein
<o:p></o:p>
Your comments on formulas you barely understand (as you seem to recognize yourself, at least by modesty) are uncalled for. You could have just posted your VBA code and done with it.
 
Upvote 0
@DocAElstein
<o:p></o:p>
Your comments on formulas you barely understand (as you seem to recognize yourself, at least by modesty) are uncalled for. You could have just posted your VBA code and done with it.

Apologies.
. As a layman, my thoughts helped me get a working feel for the formulas. I was thinking perhaps someone like the OP also with limited experience might benefit from another, albeit unconventional view point. .
. I was just trying to help. .
. Hopefully the codes could be of some use.
Alan.
 
Upvote 0
Thanks for the formulas!!

I haven't quite figured this out yet. I don't want to use fixed references ($ references). I want the excel to rewrite the forumla if the person I give it to adds a column in between or deletes one. Since I don't know fix references, I'm having trouble figuring out what's being included because of that.

To side track for a second, gettign BigNum set up is obviously important.

Activate Formulas | Name Manager.
Enter BigNum in the Name box.
Enter the following in the Refers to box:

=9.99999999999999E+307

What is activate | name manager?
What is almost 10 needed in refers box for? What's this all doing -- how is it doing it?

Okay, so back to the formulas, to try to unravel them to the non-fixed references, and to what's needed...

Bacially what I'm trying to do is
How do I say – go through all of A and see if it’s in B:B anywhere. If so (ISNUMBERnot OR ISERROR) then put A into the column.

So how do I used ISNUMBER and MATCH to do that? Can't I use the compare function tool, and let it set up the formula? I don't have that version of excel so I can't see the compare well enough to know if it will work for this. What I saw on sites, indicated it's be pretty easy to use. This whole problem is that easy in newer excels, isn't it?

Now... I'd rather have a formula already figured out so I can pass it to this person easily and not ask them to do anything in excel except copy it in. I don't want to pass on soemthing that makes no sense to me.

(MATCH(A:A,B:B,0)) doesn't work because excel doesn't do an array function that way with an array output?

So how to you tell it to go through each of the A's? Is that the BigNum label? So how's that work to do that?

I understand this much
=IF(ISNUMBER(MATCH(A:A,B:B,0)),"",A:A)
If match of A compared to column b is a number (gives a number result), then put a null string, otherwise put A)

I understand that Lookup is looking up the value of the cell specified.

After that, I'm not folloowing this formula either.

Can you help clarify it for me from there?

Thank you!
 
Upvote 0
DocA

I found your posting helpful. I hadn't realized that C1, D2 and so on were implying that those were cells where I was supposed to put the formula. I'd though they are labels for the steps of the solution, so I was lost on the simple stuff of what steps they were, and also where to put the formulas. I also figured out from what you posted, what was meant by $ as fixed references. So that was helpful.

I don't understand the VBR stuff, but wasn't planning to use that anyway. I don't know the frequency function but looks useful. If I look it up and read through your stuff, that should explain it. Thanks for adding in. :)
 
Upvote 0
</SPAN>DocA ....I found your posting helpful. ………….
</SPAN><o:p></o:p>

<o:p></o:p>
. Thanks for that feedback, it is appreciated. What I tried to do was to make a tidied up version of a small sub set of notes I had been making for myself the last couple of weeks whilst working through and learning from Threads like this one. But inevitably it becomes a bit long and “rambling” -, It is handy having an arsenal of well documented Formulas I guess. But clearly in parallel a large amount experience and understanding is necessary to help you efficiently, which as Aladin rightly criticised, I do not have.<o:p></o:p>
. This thread might “vanish” down the line unfortunately , as they often do, the Board being so Popular and busy. It may be inevitable for you to have to break down your problem, asking for help on small parts, and maybe referencing this Thread. Aladin like mayy regulers answers such a large amount of Threads he may inevitably have “ lost the Thread “ as it were on this one.<o:p></o:p>
.......<o:p></o:p>
. On a side note, some other members that have just recently helped me with formulas have recommended the mike girvin You Tube ExcelIsFun channel. There appear to be 2 “CSE” formula channels currently<o:p></o:p>
https://www.youtube.com/playlist?list=PLrRPvpgDmw0kjL4875H36yNhWBb0f-nci<o:p></o:p>
https://www.youtube.com/watch?v=FaLvuyeVen8&list=PL007E7E9CA63304D3<o:p></o:p>
. .. the second link took me a while to find, - he has such an amazing overwhelming amount of material at his You Tube site. I have the lists downloaded and running in the background, but again the amount of material is overwhelming and many more hours will be needed to fully understand it all. But He does explain very clearly continually coming back to the basics, a very nice approach.
…….. I don't know the frequency function but looks useful. If I look it up and read through your stuff, that should explain it. …..
</SPAN><o:p></o:p>

mike girvin is very enthusiastic about FREQUENCY( Function here<o:p></o:p>
https://www.youtube.com/watch?v=cDxlBZ0k3TY&list=PLrRPvpgDmw0kjL4875H36yNhWBb0f-nci&index=20<o:p></o:p>
.......................<o:p></o:p>
<o:p></o:p>
. Never the less the best experts seem to be on this Board mike girvin frequently makes reference to Richard Schollarand particularlyAladin Akyurek -- .If you are able to get their help it is worth a thousand books or videos<o:p></o:p>
...................<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
……I don't understand the VBR stuff, ………….
</SPAN><o:p></o:p>

. As for VBA. I still find it an order of magnitude easier than using complicated “CSE” Formulas. But ,again that may be a much too big a leap if you have no experience with VBA whatsoever. It is possible to put a “Button” on a spreadsheet and assign my macros to them – so you must do nothing but “click” the button. But I think you wish to ( very sensibly , my opinion ) understand anything you use. <o:p></o:p>
. Good luck with your project. Sorry I could not help more.<o:p></o:p>
Alan<o:p></o:p>
 
Last edited:
Upvote 0
DocA
"It may be inevitable for you to have to break down your problem, asking for help on small parts"

Great idea, thanks!

Looking up the frequency function, so far it doesn't seem like it will apply, since I'm comparing to a range of 1 text string, not to a numeric range. There are a bunch of other formulas I can look at too. I've found this site has some good explanations of the forumlas: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/

Thanks for your inputs...!
 
Upvote 0

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