Find matches of 2 items in 2 different columns - excel

Hello good afternoon community. I have an Excel question
I have this table
enter image description here
I can't find a way to determine which is the combination that is repeated the most but in both directions.
I mean, with the function count.si.set I can count how many Italy vs Portugal there were (12) but it doesn't give me how many Italy vs Portugal + Portugal vs Italy there were (14)
What is the step that I am missing?

You can use the greater than operator to check which word comes first alphabetically. Eg, IF(A1>A2,1,0) will return a 1 if the word in Cell A2 is alphabetically Earlier than the word in Cell A1.
Use this in the "Enfrentamientos" column with the following formula:
IF(A1 < B1, A1 & " " & " " B1, B1 & " " & A1)
This cells output will be the words in A1 and B1 concatenated in alphabetical order, so your Argentina & Germany pairs will come out the same as your Germany & Argentina Pairs.
Copy that formula down to the lower rows so it applies to each pair
Hope this helped!

Related

excel function to find 1 student in more than 1 course

I am working on a file that has students and the courses in which they have enrolled. I have to find if they have enrolled in more than 1 course. which formula will be suitable in excel?
I'm using following formula (using the helper column "Both together"):
=COUNTIF(C$2:C6, C6)
Where my data look as follows:
The column "Both together" consists of the following formula:
=A2 & "|" & B2

Excel formula for author names conversion

does anyone know how to write TWO excel formulas that would change (A) and (B) respectively into (C)? I have hundreds of rolls of author names like (A) and (B). There are different numbers of author names in each string.
(A) Smith, John; Green, Yennis; Black, Eva; Brown, Robyn
(B) J. Smith; Y. Green. Black; R. Brown
(C) Smith J, Green Y, Black E & Brown R
(A) Smith, John; Green, Yennis
(B) J. Smith; Y. Green
(C) Smith J & Green Y
(A) Smith, John
(B) J. Smith
(C) Smith J
One way to approach this using formulas would be to split the data using the "Text to columns" on ";" delimiter. This will give 1 name per cell.
To convert "Smith, John" in cell A1 to "Smith J" you could use the formula
LEFT(REPLACE(A1,FIND(",",A1),1,""), FIND(" ",A1,1) )
To convert "J. Smith" in cell A1 to "Smith J" you could use the formula
MID(A1,FIND(".",A1) + 1, LEN(A1)-FIND(".", A1)) & " " & LEFT(A1,1)
Depending on how much the length varies, you could filter the data to remove empty cells and create formulas based on length.
B2 & ", " & D2 & " & " & E2 for 3 names, assuming you inserted a column to apply formulas to the right of each name. Or replace the cell reference with formulas if you don't want to insert columns.

Excel: Frequency of variables using countif with &

I have two excel sheets. I am finding the frequency of variable school IDs from sheet 1 into sheet2. Lets say a student volunteers for some activity at two schools. So there is an &. I want countif to count schools even where there is &
sheet1
A B
1 Student name School ID
2 S1 Sch333 & Sch209
3 S2 Sch209
4 S3 Sch333
5 S4 Sch209 & Sch111
6 S5 Sch209
sheet2
A B
1 School ID Frequency
2 Sch209
3 Sch333
4 Sch111
Formula for frequency of school IDs in cell B2 of sheet2
=COUNTIFS('sheet1'!$b:$b,'sheet2'!a2)
This ignores the rows where there is &. Expected output
A B
1 School ID Frequency
2 Sch209 4
3 Sch333 2
4 Sch111 1
You can sum the counts for the value alone plus before or after " & "
Maybe,
In sheet2, B2 array (CSE) formula copied down :
=COUNT(SEARCH(A2,'sheet1'!$B$2:$B$100))
Remark : Array (CSE) formula to be confirmed by "Ctrl"+"Shift"+"Enter" to enter it.
According to #shrivallabha.redij, you can remplace your formula
=COUNTIFS('sheet1'!$b:$b,'sheet2'!a2)
by this one:
=COUNTIFS('sheet1'!$b:$b,"*" & 'Sheet2'!a2 & "*")

How to use vlookup if lookup value contains multiple values in single cell

Suppose Sheet1 has the following table ( data range Cell A1 to B4)
Fruits | Colors
======= | =======
Apple | Red
Mango | Green
Banana | Yellow
Suppose in sheet2, Cell A1 has following values ( Apple Mango Banana) separated based on space.
How to use VLookup in Cell B2 based on A1 value which can give you the results in the same order ( Red Green Yellow)
This formula in Sheet2!B2 does it:
=INDEX(sheet1!B:B,MATCH(TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)),25)),sheet1!A:A,0)) & " " &
INDEX(sheet1!B:B,MATCH(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),100,25)),sheet1!A:A,0)) & " " &
INDEX(sheet1!B:B,MATCH(TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)),25)),sheet1!A:A,0))
This formula works fine when you have 3 values to match (in case there are 2 only, the second one will be repeated). It can be further complicated to treat any number of values.
Of course it can be simpler in VBA using the Split function, and it would take into account any number of keys, yielding the joined values. You can use this in a macro:
Sheet2.Range("B1").value = Join(Application.index(Sheet1.Columns("B"), _
Application.match(Split(Sheet2.Range("A1")), Sheet1.Columns("A"), 0)), " ")
Of course you can adjust it to any cell in column B, using Range("B" & i) and Range("A" & i)...

Check for string in text column A, return another string in column B - Excel

I am trying to lookup one of 3 strings (Blue, Red, Green) in column A. In column A I have:
row1: "Robert has Blue shorts"
row2: "Maria has a Red dress"
row3: "John has a Green car"
Whenever I find one of those 3 words in column A, I want to populate column B with the found instance (Green, Red, Blue).
There will always be one of these 3 words in column A, never more than one and the position of the words can be anywhere in the string.
I know how to put this in Python or SQL but I am struggling with Excel.
Can anyone share a solution if they used this in past?
You can use this array formula:
=INDEX({"Red","Blue","Green"},MATCH(TRUE,ISNUMBER(SEARCH({" Red "," Blue "," Green "}," " & A1 & " ")),0))
Being an array formula it must be confirmed with Ctrl-Shift-Enter when exiting edit mode. If done correctly then Excel will put {} around the formula.
As a note:
You can also replace the {"Red","Blue","Green"} with a range reference. So if the three words were in D1:D3 the formula would be:
=INDEX($D$1:$D$3,MATCH(TRUE,ISNUMBER(SEARCH(" " & $D$1:$D$3 & " "," " & A1 & " ")),0))

Resources