Comparing 2 different rows in 2 different sheets - Excel - excel

I am wondering is there is any formula/tool to compare 2 different rows in 2 different sheets in excel.
Example:
Sheet 1 I want to compare cells A14 to A24
with Sheet 2 Cells B14 to B24
Thanks.

You could try something like:
=Sheet1!A1&Sheet1!B1&Sheet1!C1 = Sheet2!A1&Sheet2!B1&Sheet2!C1
This basically just compares the concatenation of 3 cells with 3 other cells. But as Zombian said, we could help more if you were more specific.

What kind of data are you expecting in the cells?
What is the overall goal? If you are running a test to see if they are exactly the same then it may be different than to see if they all add up to the same number or something like that.

Let's assume your data looks like this way:
On Sheet1 (old data)
Col A | Col B
Id | Value
1 | My Val 1
2 | My Val 2
3 | My Val 3
On Sheet2 (new data)
Col A | Col B
Id | Value
123 | My Val 1
3 | My new Val 3
2 | My Val 2
1 | My new Val 1
On Sheet2, put in column C the following formula:
=INDEX(Sheet1!B:B,MATCH(Sheet2!A2,Sheet1!A:A,0))=Sheet2!B2
This will return TRUE or FALSE whether the value matches or not the old one. We need to assume the Id would not change between the two Sheets (or else, please tell us how we could deal with it).

... and =INDEX(Sheet1!B:B,MATCH(Sheet2!A2,Sheet1!A:A,0))=Sheet2!B2
can be adapted for use in conditional formatting across all the required columns in the second worksheet

Related

SUM columns on the same sheet based on conditions or SUMIFS from another sheet

Here is a small sample table
+--------+-------+--------+
| COL 1 | COL 2 | COL 3 |
+--------+-------+--------+
| abc123 | Total | |
+--------+-------+--------+
| abc123 | cat1 | 100.00 |
+--------+-------+--------+
| abc123 | cat2 | 200.00 |
+--------+-------+--------+
| def123 | Total | |
+--------+-------+--------+
| def123 | cat1 | 100.00 |
+--------+-------+--------+
| def123 | cat2 | 200.00 |
+--------+-------+--------+
In COL 3, IF COL 2 is "Total" I need to SUM everything in COL 3 for each row in COL1 that is the same. (EG. COL3 Total row should be 300.00 for abc123 and then 300.00 for def123) Otherwise if COL 2 is NOT "Total" I need to do SUMIFS('Sheet3'!N:N,'Sheet3'!A:A,Sheet2!A473,'Sheet3'!Q:Q,Sheet2!Q473)*Sheet4!$U$2)
How can I can I accomplish the first part of the SUM?
Edit:
I think my example is too rigid and appears like it is set.
Let me see if I can explain in more fluid terms. I will have to describe this some what in database terms. All of the columns are on one sheet for the purposes of the "Total" portion.
COL 1 is my partition. Each of the "ID's" in COL 1 consists of 57 rows. Within 1 of those 57 rows is "Total" in another column, in the example that is COL 2.
So I have a large table that in COL 1 there are say 5 different ID's with 57 rows for each ID resulting in 285 rows.
Now I had a sorting function that would likely make this whole thing easier, but that function is crashing excel and not sorting both required sorts ( https://techcommunity.microsoft.com/t5/excel/sort-function-causes-a-crash-and-does-not-perform-secondary-sort/m-p/1477123#M66205 )
I suppose if I can get the sorting function to stop crashing excel this becomes slightly easier as then "Total" is consistently placed in row 2, 58, 116, etc. and I can add up everything below it. Right now, because that sort doesn't work, I have to add up everything from COL 3 that is NOT assigned to "Total" in COL 2 and has the same ID in COL1.
So in the table above abc123 is 3 rows and I need to add up the two rows that are not total for abc123 and have the formula spit out 300 into COL 3 for total.
Then def123 needs the same treatment.
Here is the tough part: the sorting is inconsistent because the data comes from a Redshift query so it is random for each ID. The IDs themselves are in random order. I think I can get the sort for COL 1 to work without crashing excel, but the secondary sort with the custom order is crashing it.
One way to avoid the Circular Reference error when trying to Total a column is to use two Sums, one above and one below.
So, assuming that your Columns 1, 2 and 3 are A, B and C, and that data starts in Row 2 (Row 1 being a header), you need the Sum of cells above the current row:
SUMIFS(C$1:C1, A$1:A1, A2)
Plus the Sum of the cells below the current row:
SUMIFS(C3:INDEX(C:C, 1+COUNTA(A:A)), A3:INDEX(A:A, 1+COUNTA(A:A)), A2)
(Note that this will actually terminate one row above and below the dataset)
Put this together with an IF statement:
=IF(B2="Total", SUMIFS(C$1:C1, A$1:A1, A2) + SUMIFS(C3:INDEX(C:C, 1+COUNTA(A:A)), A3:INDEX(A:A, 1+COUNTA(A:A)), A2), EXISTING_FORMULA_HERE)
Alternatively, you could try writing an Array Formula to calculate the SUM directly, a bit like when using multiple conditions in a MATCH, something like this: (not enough information in the question to do this exactly)
=SUMPRODUCT('Sheet3'!N:N*(COUNTIFS(A:A,'Sheet3'!$A:A)>0)*(COUNTIFS(B:B,'Sheet3'!$Q:Q)>0))
(Sum of Sheet3!N:N when a row exists in the current sheet that matches columns Sheet3!A:A in Column A and Sheet3!Q:Q in Column B)
Note that working on Entire Columns with Array Formulae is quite slow, so you may want to limit those just to the Used Range

Microsoft Excel Multiple Worksheets and Data

I have two spreadsheets built. I want to be able to put what step a teacher is in which looks like this; BS, 1 or BS, 2 etc. (My second worksheet has each step and salary on it) I then would like the cell directly next to it to pull the correct salary amount from my other Worksheet.
I would add a picture, however it won't let me. Thank you for any help you can offer me.
Assuming the name of the teacher and category of the teacher is in Sheet1 columns A and B
(A) | (B)
|
Max | 1
Tammy | 4
Alex | 2
and on Sheet 2 you have category and salary
(A) | (B)
|
1 | 30000
2 | 45000
3 | 75000
4 | 120000
Then in cell C1 on sheet 1 you would use the formula:
=VLOOKUP($B1,'Sheet2!$A$1:$B$4,2,0)
You would then copy this formula down as required.
Alternatively you could achieve the same results with an INDEX/MATCH combination
=INDEX('Sheet2'!$B$1:$B$4,MATCH(B1,'Sheet2'!$A1:$A$2),0)

Excel - Replace blank if only 1 contiguous value

Okay this one is a bit strange to explain, but I have a file like this:
A B
1 | Person
2 | Person test
3 | Record
4 | Record test
5 | Tiger
6 | Scott
7 | Scott test
8 | Scott test
9 | Scott test
As you can see, in column A the first row where a new value starts, column B is blank. What I need is to fill in a placeholder (NULL) value into column B if there is only one contiguous value in column A. So for the above example row 5 only has 1 contiguous value so the result should look like this:
A B
1 | Person
2 | Person test
3 | Record
4 | Record test
5 | Tiger (NULL)
6 | Scott
7 | Scott test
8 | Scott test
9 | Scott test
I tried something like this but doesn't work:
IF(EXACT($A5,$A4)=FALSE AND EXACT($A5,$A6)=FALSE, "(NULL)", $B5)
I just want a formula I can paste all the way down column B. Any suggestions?
=IF(OR(A2=A1,A2=A3),"Test","(NULL)")
Replace Test and (NULL) with the values you want to display.
This checks to see if the AX = A(X-1) or A(X+1). If either of those is true, then it means that AX is contiguous with another row.
I should note that I tested this with Excel 2013.
Also, if you want the formula to use the value already in BX when the rows are contiguous, then you can't do that in the same column.
I'm not sure if that's what you're asking to do, but the formula you tried would have been attempting to do that, creating a circular reference.
You can easily do this in column C. Replace "Test" with BX. Then, if you only want 2 rows in the end, you can copy and paste the values of column C into column B, then delete column C. But, this way you'll lose your formula.
Suppose you have your data like this:
This formula seem to work:
=IF(OR(A2=A1,A2=A3),IF(B2="","",B2),"(NULL)")

How to compare two columns value in excel?

I have over 100k rows of data like below:
ALLA,ALLA,"Company1, Inc.","Company1, Inc.",PSA,PSA,1,1,FALSE,FALSE
BCCO,BCCO,"Company2, Inc.","Company2, Inc.",PSB,PSB,1,1,FALSE,FALSE
CTTP,CTTP,"Company3, Inc.","Company3, Inc.",PSC,PSC,1,1,FALSE,FALSE
CMMZ,CMMZ,"Company4, Inc.","Company4, Inc.",PSD,PSD,1,1,FALSE,FALSE
I want to know how to figure if data in column 1 is the same as column 2, column 3 as column 4 and so on. How could I do that in excel?
Following Cory's formula, I found that I can compare whole columns using:
=if(A:A=B:B, "yay", "aww")
Problem is I have a header in the file:
c - symbol, symbol, c - companyname, companyname, c - tradingvenue, tradingvenue, c - tierrank, tierrank, c - iscaveatemptor, iscaveatemptor
Shouldn't this cause A:A=B:B to be false?
Given this:
| A | B |
---+-----+-----+
1 | X | X |
---+-----+-----+
2 | Y | Y |
---+-----+-----+
3 | Z | Z |
The formula =SUMPRODUCT(--(A1:A3=B1:B3)) will tell you how many times the A value matches the B value.
You should get 3 as a result here. If, for example, you change B3 to Q then it will give you 2.
To do this on two columns without specifying the end of the range, try:
=SUMPRODUCT(--(A:A=B:B),--(LEN(A:A)>0))
I've been using Excel since 1991, and unless you want to write a VB macro, I think the best way is to do the simple IF statement suggested in the comments. If you need to test several columns at once, which is what your question suggests, then I'd do
=IF(AND(A1=B1,C1=D1,E1=F1,G1=H1),0,1)
Fill that formula down the column and then you'll be able toinstantly count the number of rows that don't matchwith a data-filter, select all the rows which have a '1', so you'll be able to examine the rows that don't match

How to merge and sum 2 arrays using excel?

Given a .csv data file as follows
12,green orange
1,good egg
...
5,green orange
I want to sum-up the first column elements if the second column element is the same. Given the example above, now we should have
17,green orange
1,good egg
...
What is the easiest way to do this?
A good option would be to use a Pivot Table (this is practically what they are designed for).
In your case, look into the SUMIF formula - link as it doesn't seem you will need such advanced functionlaity.
Copy the list of "keys" (the items) into a separate worksheet and remove duplicates, then just setup SUMIF like:
key | total sum
green | = SUMIF(dataSheet!B:B, A2, dataSheet!A:A)
where you have this in a sheet, and dataSheet represents the CSV values you just imported.
Assuming you don't want to work with variables.
Count |Color
12 |Green
1 |Blue
5 |Green
7 |Green
3 |Blue
Sort the file by the value "Color"
Count |Color
1 |Blue
3 |Blue
12 |Green
7 |Green
5 |Green
Put Formula in cell C2 and paste down
=IF(B2=B1,(C1+A2),A2)
Harvest the sums at the end of each color (i.e. Blue = 4, Green = 24)

Resources