Excel CountIfs multiple criteria with range or condition with cell reference - excel-formula

I have 2 columns in an excel file, I need to get the count if column A values any match values in a named column range and column B values match any values in a named column range. In a different sheet, I have columns C and D for named ranges.
Sheet1
A | B
a1 | b1
a2 | b2
a3 | b1
a1 | b3
Sheet2
C | D
a1 | b1
a2 | b2
Now, I want to get all the count of A match values in C and B matching values in D. The return values should be 2.
I have tried with =SUMPRODUCT(COUNTIFS(A:A,C1:C4,B:B,D1:D4)), but this always returns 0

If I have understood you correctly this should be ok for the count of A
=COUNTIF(Sheet1!A1:A4,C1)
and this should be ok for the count of B
=COUNTIF(Sheet1!B1:B4,D1)

Related

return a list of all elements present in one column that is not present in the other

I'm trying to create column where there are hundreds of items in a and b column, and I want to remove common items in b column and list them in different column in excel or google sheet.
a
b
items present in b column only
a1
a1
a5
a2
a2
a6
a3
a5
a4
a6
Excel:
Formula in C2:
=FILTER(B2:B5,COUNTIF(B2:B5,A2:A5)=0)
Google-Sheets:
Almost the same, but less explicit: =FILTER(B2:B,COUNTIF(B2:B,A2:A)=0)

Excel index row

I have unmatched data with missing rows in excel that i need to match.
Column A contains distinct sample names which match those in Column C. Column C has all of the samples and Column A has only those samples with an observation. Column B has the observations corresponding to Column A. In Column D I need to put the observations in Column B which correspond to the sample in Column C OR 0 (if there was no observation, which is indicating for the sample not being present in Column A).
Example:
A B C D
C2 8 C1 0
C4 10 C2 8
C5 1 C3 0
C9 5 C4 10
C5 1
C6 0
C7 0
C8 0
C9 5
How can I create Column D? Thanks!
You can start with this formula in cell D1 and fill down.
=IFERROR(VLOOKUP(C1,$A$1:$B$4,2,FALSE),0)
The VLOOKUP looks at the value in cell C1 and checks the left column of the table in cells A1:B4 for a match. If one is found, the value in the 2nd column corresponding to the match is returned, if a match is not found, a #N/A error is returned.
That is where the IFERROR formula comes in. If an error is detected in the formula (which means no value was found), then it fills in a 0.
Place the following in cell D1 and drag-down:
=IFERROR(VLOOKUP(C1, $A$1:$B$4, 2, FALSE), 0))
=IFERROR(INDEX($A$1:$C$9,MATCH(C1,$A$1:$A$9,0),2),0)
I'm a fan of the index match match method, instead of vlookups. It allows you to grab basically anything in a defined array, by finding the row and column in the data set and giving you whats in that cell.
The index is your data (A1:C9)
The first match returns the row the data is in ( basically find whats in cell C1 in the A column)
Since we know its in Col 2 of the data I just put 2, but you could use another match to find a column header (customer #, date, part # etc)

Count how often a value in a cell in one specific column is not the same as the value in the same row of a specific other column

Both ColumnA and ColumnB are blank except for O and R (individually).
How can I count the number of times a row contains O in ColumnA and R in the same row of ColumnB together with a row that contains R in ColumnA and O in the same row of ColumnB?
For example the result for the example below should be 5 as indicated by the asterisks:
All cells not shown are blank.
The second row is counted because A2 does not equal B2. The first row is not counted because both A1 and B1 contain just O. The fifth row is counted because within a given row it does not matter whether O is in ColumnA and R in ColumnB or R in ColumnA and O in ColumnB. The seventh row is not counted because both A7 and B7 contain just R.
Hopefully:
=COUNTIFS(A:A,"O",B:B,"<>"&"O")+COUNTIFS(A:A,"R",B:B,"<>"&"R")
For equal:
=COUNTIFS(A:A,"O",B:B,"O")+COUNTIFS(A:A,"R",B:B,"R")
If you are just looking for a count of rows where A is not equal to B you can use the following formula:
=SUMPRODUCT((A1:A50<>B1:B50)*1)
Sumproduct will compare each row in A1 through A50 with the values in A and B. If they are not equal it will add 1 to the overall count, counting for each row 1 though 50.
If you would like an indicator in Column C to tell you if A and B is not equal for each row you can just use:
=A1<>B1
Put that in C1 and copy down for each row.

Compare a single row with a column and extract the value from another column on the same row in Excel

So I'm looking for a formula or anything that does something like this:
I have 4 Columns. A B C D.
I have a column (A) with multiple values that can have duplicates.
A1: A
A2: A
A3: B
A4: C
A5: C
I want to compare each row with a Column (B) that has one of each value. So B1 = A, B2 = B etc.
However the value I want to extract to column "D" is in Column "C". So if A1 equals anything in the Column B, I want to extract the value in Column C on the same row, to Column D.
So in D1 I want the value from C1. In D2 I want the value from C1 as well. But in D3 I want the value from C2.
This seems to work:
=VLOOKUP(A1:A5,B1:C5,2,0)
Entered as Array Formula in D1:D5 using Ctrl+Shift+Enter.
Result:

MS Excel inverse lookup

I have two sheets with three columns each. I need a third sheet in which I have all rows that are in sheet two but not in sheet one. Is there a formula to do this?
Here are the formulas in separate columns (for clarity). You may combine them, of course.
I used columns in a worksheet instead of separate worksheets, but the concept carries over.
Column A Column B
a d
b e
c f
d g
e h
These are A1:B6. Your data under examination are A2:A6 and B2:B6.
If I understand your question, you are looking for "f, g, h" Those are the rows in column B that are not in column A.
In C2, I place the formula =MATCH(B2,$A$2:$A$6,0). The $A$2:$A$6 means use the absolute column and row and does not change when I copy the formula down to C6. The 0 means I want an exact match.
This will put a 4 and 5 in cells C2 and C3, but #N/A in C4, C5, and C6, because there is no match.
In D2, I place the formula =IF(ISERROR(C2),B2,""). Also copy this formula to column D6. If there is a number in C2, then the a match was found, and it prints a blank. If there is a #N/A in C2, then it prints the letter in column B.
In my small example, it prints f, g, and h.
Column C Column D
4
5
#N/A f
#N/A g
#N/A h

Resources