I need help with a formula that I am trying to drag down.
The original formula is:
=COUNTIFS(Sheet2!N:N,"P",Sheet2!M:M,"<=3/31/17",Sheet2!M:M,">=1/1/17")
I need to drag this formula down 18 more times. However, I need the range to skip one each time. For example, if I were to drag the formula down one row it should say: =COUNTIFS(Sheet2!P:P,"P",Sheet2!O:O,"<=3/31/17",Sheet2!O:O,">=1/1/17")So in that example it is skipping the "O" range at first, and then skipping the "N" range in the latter of the formula.
Use Index() to set the range/array:
=COUNTIFS(INDEX(Sheet2!$1:$1040000,0,(ROW(1:1)-1)*2+14),"P",INDEX(Sheet2!$1:$1040000,0,(ROW(1:1)-1)*2+13),"<=3/31/17",INDEX(Sheet2!$1:$1040000,0,(ROW(1:1)-1)*2+13),">=1/1/17")
Now as it is dragged down the references will skip every other row.
Related
My SUMIFS formula criteria is based on a cell (say A1) that is data validated by list and changed via selection by user. If cell has data inside text or number by selection from drop down list, SUMIFS formula is considering that data as criteria to calculate the related sum. If criteria cell is left blank, I want formula to sum everything without any condition. My problem here; in criteria field of SUMIFS formula, I typed if condition like; SUMIFS(sum-range,criteria_range,IF(A1<>"",A1,"*")) but in this case excel considers only text values and do not include cells containing number. Briefly, if nothing selected in A1, I want SUMIFS formula to sum everything without any condition, numbers, texts and even blank cells. How can we proceed to do that?
EDIT:
Here an example for data and formula, what is expected is actually to disable criteria if one of selection is blank on left. Harun's suggestion works but if there is blank cell in criteria range, then in this case it won't consider those values in sum. For instance, if we select from left Phone/smart/touch, then how can we get "2" as output no matter what is in cri_range4 cells? Thanks
Example:
How about this solution? It basically ignores a missing entry in column C and evaluates only the other two. (Your example formula has a fourth criterium that isn't apparent in your list but the method can be extended for as many criteria as you might have.
=SUMPRODUCT((IF(LEN(C2),(INDEX(Lists,,1)=C2),TRUE))*(IF(LEN(C3),(INDEX(Lists,,2)=C3),TRUE))*(IF(LEN(C4),(INDEX(Lists,,3)=C4),TRUE))*SumRange)
For better readability I created a named range Lists which comprises your sample range E2:H10 while I named I2:I10 as SumRange'. INDEX(Lists,,1}` refers to the first column of the range. It's important that SumRange and Lists have the same number of rows.
If A1 is blank then just use not equal operator to sum all cells that are not blank. Try below.
=SUMIFS(D1:D5,C1:C5,IF(A1<>"",A1,"<>"))
Edit: can you check below formula in D3 cell then drag down.
=IF(C2="",SUM($I$2:$I$10),SUMPRODUCT(($E$2:$H$10=C2)*($I$2:$I$10)))
I have a very large excel sheet that I am running formulas on. I run a formula on every item in the sheet and then remove the duplicates leaving me with only the unique items. Is there a way that I can have a second formula automatically reference the cell from the first formula?
Formula 1:
=INDEX(Radnet_Master_LocationList.xlsx!$A$2:$A$265, MATCH(***'1611029532'!G2***,Radnet_Master_LocationList.xlsx!$B$2:$B$265,0))
Formula 2:
=SUMIFS('1611029532'!AS$2:AS$1867,'1611029532'!G$2:G$1867,***'1611029532'!G2***)
I have enclosed the cells that need to match with 3 ***. When I copy the second formula into all of the cells needed, that cell increments and I would like it to mirror the cell from the first formula. For example, say '1611029532'!G369 comes right after '1611029532'!G2 in the first formula. When I increment the second formula it ends up as '1611029532'!G3, when I want it to be '1611029532'!G369.
I am trying to use Hlookup to get the value of the entire row and show blank if not found from worksheet 1 to worksheet 2
I was trying to use this formula
=IFERROR(HLOOKUP(A1,Sheet1!1:2,2,0),"")
but this formula doesn't allow me to drag it down
I would suggest you need :
=IFERROR(HLOOKUP(A$1,Sheet1!$A$1:$I$4,ROW(A2),0),"")
Put that in A2 then drag that down (and across if you need)...
I am attempting to use an IF statement to check whether the sum of two cells from another Excel sheet is greater than or equal to 1.
For a sheet called Test1 with the values of interest in column C, this is what I have so far, which works fine:
=IF((Test1!C1+Test1!C2>=1),1,0)
In column B on a second sheet that I'll call Test2, I want to copy this formula down 200,000 rows. However, if the aforementioned formula is in cell B1, for the formula in B2 I would like the formula to read:
=IF((Test1!C3+Test1!C4>=1),1,0)
I want to copy the formula down the column so that the second cell reference in the formula in the first row does not become the first cell reference in the formula in the second row (eg. it would go C1+C2, then C3+C4, C5+C6, etc.).
I have tried manually entering the formula for a few rows, highlighting those, and copying them down but can't get the desired cell reference pattern. If I highlight and drag these first three formulae down another three rows, C4 and C5 are repeated and not in the correct pair.
=IF((Test1!C1+Test1!C2>=1),1,0)
=IF((Test1!C3+Test1!C4>=1),1,0)
=IF((Test1!C5+Test1!C6>=1),1,0)
=IF((Test1!C4+Test1!C5>=1),1,0)
=IF((Test1!C6+Test1!C7>=1),1,0)
=IF((Test1!C8+Test1!C9>=1),1,0)
I have tried using OFFSET() within this formula but couldn't get it to work. I am basically just wanting to add 1 to each of the cell references in the formula, as compared to the previous row (but not to actually add 1 to the value of that cell, as would happen with C1+1 for example).
Any insight would be greatly appreciated!
If you plan on copying this down 200K rows then you will want the absolute simplest formula that accomplishes the stagger. Avoid the volatile OFFSET function or be prepared to spend a lot of time waiting for random calculation cycles to complete. A volatile function will recalculate whenever anything in the workbook changes; not just when something changes that involved the formula in the cell.
=--(SUM(INDEX(Test1!C:C, (ROW(1:1)-1)*2+1), INDEX(Test1!C:C, (ROW(1:1)-1)*2+2))>=1)
The following formula should do the trick:
=(SUM(INDIRECT("C"&ROW()*2-1);INDIRECT("C"&ROW()*2))>=1)*1
And that's the version using IF:
=IF(SUM(INDIRECT("C"&ZEILE()*2-1);INDIRECT("C"&ROW()*2))>=1;1;0)
You say I am basically just wanting to add '1' to each of the cell references in the formula but appear to be incrementing by 2, so I am confused but an option might be to apply you existing formula to 400,000 rows, together with =ISODD(ROW()) in another column, then filter on that other column to select and delete those showing FALSE.
Excel's autofill won't do the 2-cell shift that you're looking for. You can use the functionality that is there.
Put =IF((Test1!C1+Test1!C2>=1),1,0) in the top cell and drag a copy to the second row (it will be =IF((Test1!C2+Test1!C3>=1),1,0) but that's okay). Now, put 'A' and 'B' in the next column. Select all 4 cells and copy them down 400k rows.
Use filter to delete rows flagged with 'B' and delete the blank rows.
(Select blank rows with [F5] click Special and select Blanks, then right-click and delete)
Here is all you need. It's fast and nonvolatile.
=--(SUM(INDEX(Test1!C:C,ROW(1:1)*2-2):INDEX(Test1!C:C,ROW(2:2)*2-2))>=1)
Copy it down as far as you like.
I am comparing values in a row in one sheet to values in another row in another sheet. The following formula and works:
=IFERROR(VLOOKUP(A1,Sheet1!A1:A19240,1,FALSE),"No Match")
My problem is when I fill down the formula, it increments A1 correctly but also increments the (A1:A19240), so half way down I have narrowed the search field.
How can I apply this formula to a column?
Change A1:A19240 to A$1:A$19240, i.e. apply:
=IFERROR(VLOOKUP(A1,Sheet1!A$1:A$19240,1,FALSE),"No Match")
This is called using absolute references.