Count sum ignoring certain cells using offset - excel

I am trying to count the twelve cells left of my 'total' cell. I am using an offset sum because a new column gets added weekly to the left of 'total' cell. Sum I am using is:
=SUM(OFFSET(Q8,,-12,1,12))
Firstly When I add a new cell the letters change and formula stops working. Second, some of the cells in the twelve have a value of zero, these i need ignoring and counting 12 with values.
Thanks in advance
Sam

12 cells from left of Q8 is range - E8:P8
you can use =SUMIF($E$8:$P$8,">0",E8:P8)
which would solve both problems ie
adding new columns after the total columns
count only cells greater than 0

Maybe you can try this formula to sum "up-to 12 non-zero cells on the left of the totals cell", supposing the latter is at Q8. The formula should move correctly with the cells wjen new cells are inserted on its left.
Q8:
=SUMPRODUCT($A8:P8*(13>COUNTIF(OFFSET(Q8,0,COLUMN($A8:P8)-COLUMN(Q8),
1,COLUMN(Q8)-COLUMN($A8:P8)),">0")))

Related

How to fill empty cell values randomly which are sum of the last cell value?

I have a value in 11th cell as 35. From 1st cell to 10th cell is empty. I want to fill 1st cell to 10th cell randomly and its sum should be equal to to 11th cell as per in figure. Cell 1 to 5 should have the values between (0-2) and Cell 6 to 10 should have the values between (0-5). Rows 1,2 and 3 filled by manually. I need formula for row 4 which satisfies the conditions and sum should be equal to 20. Guide me the formula in excel, libre-office calc or python. Thanks.
The meaning of the task is not very clear (in fact, why not just fill ten cells with the value 2 and get the desired 20?).
However, the task is not very difficult to solve: The first five cells are filled with =RANDBETWEEN(0;2).
When calculating each next value, you are guided by the already accumulated sum of the previous cells SUM($A1:E1) - that is, fill the next four cells with
=MIN(RANDBETWEEN(0;$K1-SUM($A1:E1));5)
The tenth cell is calculated as the difference between the expected number and the already accumulated sum of the nine previous cells =K1-SUM(A1:I1).
Your screenshot does not show the column names and row numbers - I gave formulas for the range A1:K1, you should adjust them according to your data.

How to use SUMIF in an array formula to not sum blank rows

Hi I am using the following array formula to sum rows AC-AG , I would like to modify it so that it does not sum if an entire row is blank. How would I do this using an array formula since this spreadsheet is tied to a google forum and gets updates often.
I am using this formula at the top of the column.
={"# Boxes of Household Items"; ARRAYFORMULA(SUMIF(IF(COLUMN(AC1:AG1),ROW(AC2:AG)),ROW(AC2:AG),AC2:AG))}
Example Below
The Formula adds up AC through AG and puts them in AR.
I want the formula to not put a zero in AR5 since the entire row is blank
In the image above I have numbers in various cells from columns A:E, then I have a formula in cells F1:F3.
Row 1 has numbers for all cells.
Row 2 has numbers for some cells.
Row 3 has no numbers.
To show the sum when all/some of the cells contain numbers, I would do:
=IF(COUNT(A1:E1)>0,SUM(A1:E1),"")
We check IF there is at least one number using COUNT(A1:E1)>0. If there is at least one number, we then show the sum using SUM(A1:E1) otherwise we just show nothing, which is the "" part.
For you the formula would be this in AR2:
=IF(COUNT(AC2:AG2)>0,SUM(AC2:AG2),"")

Count last 10 cell values if >1, exclude blank cells

I am trying to figure out how to count the last 10 cell values that are bigger than 1, in a given range, and to exclude blank cells. The formula should handle last 10 non-blank entries dynamically in a column.
I have this array formula from another forum:
=IFERROR(AVERAGE(IF(ROW(A2:A20)>=LARGE(IF(A2:A20<>"",ROW(A2:A20)),MIN(COUNT(A2:A20),10)),IF(A2:A20<>"",A2:A20))),"")
It averages the last 10 cell values, excluding blanks.
I have tried to replace the "average" function with "countif", and I added ">1", but without success,it returned zero.
The problem with your question is that you only need last 10 cells of your range. Assuming your range is A2:A20, you count the last 10 values greater than 1 as follows:
=COUNTIF(OFFSET(A2,ROWS(A2:A20)-10,0,10,1),">1")
Note that you have to type in the first cell of the range (A2) as well as the whole range (A2:A2O) and you have to type number 10 twice, but that's how Excel programming is...
Made some changes in your formula:
=IFERROR(SUM(IF(INT(IF(ROW(A2:A20)>=LARGE(IF(A2:A20<>"",ROW(A2:A20)),MIN(COUNT(A2:A20),10)),IF(A2:A20<>"",A2:A20)))>1,1,0)),"")
This is an array formula so commit it by pressing Ctrl+Shift+Enter.
Instead of COUNTIF function, I am using SUM(IF()). For deatils see this.
Here, INT function converts False to 0 and TRUEto 1.

Breakeven for Excel

I would like an excel formula for the below. For each month (columns) I have a total (all in same row). I want to sum the range of totals and highlight the month in which the cumulative sum of months turns positive. These totals will change based on other variables.
Columns = A1 through L1 (months)
Totals in row B for each month
Assuming your cumulative total will be in row 3, in A3 you would put the formula:
=SUM($A$2:A2)
note the dollar signs in the first part of the range. When you now copy it down the row the second part will change creating a cumulative sum of the total values.
To highlight the first positive value you would select the whole range of cumulative values (say A3:X3) and create New Rule for conditional formatting, select "Use a formula to determine which cells to format", and place the following formula as the condition:
=A3=MIN(IF($A$3:$X$3>0,$A$3:$X$3,""))
Which will highlight the lowest non negative value in your row with the formatting you select. Hope this helps. Regards,

Adding all the values below the current cell in Excel

I am trying to display the total sum of all the numbers for a particular column. I want the sum to be displayed above the column as follows:
21 30
A B
6 5
6 10
6 10
3 5
I know I can sum the values and display it at the bottom of the column using =SUM(A3:INDIRECT("D"&ROW()-2)), however I am not getting a way to display it at the top of the column.
Please guide.
Based on the comments and the previous answers I suggest following formula, entered in cell A1:
=SUM(OFFSET(A$2,0,0,ROWS(b:b)-1))
You can then copy/paste to the right till second last column.
You could also modify your formula in A1 like this to achieve the same:
=SUM(INDIRECT("A2:A"&ROWS(A:A)-2))
But then you cannot copy/paste to the right...
A more general approach with your idea would be:
=SUM(INDIRECT(ADDRESS(ROW()+1,COLUMN())&":"&ADDRESS(ROWS(A:A),COLUMN())))
You can then copy/paste to the right till last column.
Some explanations:
Both formula sums up every value in the range from A2 till the bottom of column A (i.e. for Excel 2010 this would be A2:A1048576)
It doesn't matter if there are blanks or cells without value; the formula sums up only the numbers
I put A$2 and B:B in the OFFSET formula to avoid circular references, since I'm writing in cell A1 and I cannot write A$1 nor A:A
With the INDIRECT formula you don't have to worry about circular references
Further commenting (sorry, I don't have the credits to comment at the right place under the question):
Phylogenesis formula =SUM(A3:A65535) could also do the work, isn't it?
Didn't understand your question at first, because you talk of "sum of all the numbers for a particular row" but then you sum columns, isn't it?
When I'm doing something like this, I prefer to not include any empty cells beneath the range I'm summing, because I've had errors in the past as the result of including them (usually because there's a cell way down in the column somewhere that I'm not expecting to have a value). I'm assuming that A & B are your column headers. Assuming that, here is how I would do it. This is your formula for cell A1:
=SUM(OFFSET(A$1,2,0,COUNTA(A$3:A$65535)))
Explanation
I'm updating this with a brief explanation, per the OP's request.
According to ExcelFunctions.net:
The Excel Offset function returns range of cells that is a specified number of rows and columns from an initial supplied range.
The function reference for OFFSET is:
=OFFSET(reference, rows, cols, [height], [width])
What this formula does is create a dynamic range based on the number of cells in the selection, relative to cell A$1. This is an offset of two rows and no columns, which starts the range at A$3. The height of the range is the total number of filled cells in the range A$3:A$65535. The assumption here is that there are no blank cells in the range, which there were not in the sample data.

Resources