Find cell by your position on cells total in a 2D array - excel

I need find determined cell position based in yout position of range cells total.
Example:
In this table, i have 15 cells,"x" is 8th in these 15 cells and your position is B3. I need find B3 knowing only "x" is 8th cell in this range using a formula.
How to make a formula to find cell this way?

Assuming a 3 column wide area:
=ADDRESS(INT((F1-1)/3)+1,MOD(F1-1,3)+1)
Where F1 has the 8 and the 3s represent the number of columns in the area.

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.

Stepwise summing from adjacent cell

Summing down the way in excel. Im trying to calculate the total along a path in stepwise pieces, for example for each blank row I want the total from the left cell and add it to the total overall.
column 14 row 1 should be 3925.923, C14 R2 3925.923+1407.438, C14 R3 3925.923+1407.438 +1075.749 etc all the way to the bottom.
Use SUM() formula like-
=SUM($A$1:$A1)

How to input min/max values and have Excel generate cells for each number in the range

I have 2 cells A2 and A3, I will input a min value and max value respectively in each cell. Say 100 in A2 and 200 in A3.
I would like Excel to populate cells with values within that range. So Column B would have cells 1-101 filled in with 100,101,103,104,105....200.
Is there any easy way to do this or should I just stick to putting 100 in B1 and dragging it down?
In you first cell:
=IF(ROW(1:1)-1+$A$2<=$A$3,ROW(1:1)-1+$A$2,"")
Then drag/copy the cells down far enough to cover any combination you will have. You can fill the whole column if you want.
Microsoft is working on their Dynamic Arrays, Once released, a simple formula in the first cell of:
=SEQUENCE(A3-A2+1,,A2)
Will autmatically fill down the sequence without the need of dragging the formula down.

Excel 2016: adding number values in a row from cells with text and numbers

I need to add number values in a row where cells contain text and numbers; like "P1" or "S7" where I need to add the 1 and 7 into a total column.
I can extract the number values from individual cells using =RIGHT(V3,SEARCH("P",V3))+0, but can't figure out how to do that easily for row of 32 cells.
Example:
For example to sum D1 through G1, use:
=SUMPRODUCT(--MID(D1:G1,2,9999))
As you see, this formula discards the lead text character in each cell.
EDIT#1:
To add cells beginning with P or S only, use:
=SUMPRODUCT(--MID(D1:G1,2,9999)*(LEFT(D1:G1,1)="P")) + SUMPRODUCT(--MID(D1:G1,2,9999)*(LEFT(D1:G1,1)="S"))
You can place your formula on the first column of your row. Then when you copy the formula across your columns it will automatically reference the cell offset the same as V3 is offset from each other cell with formula.

How to use excel formula to highlight 3 closest values from range

A
1) 0.218967921
2) 0.02111355
3) 0.145493415
4) 0.151092791
5) 0.15407891
6) 0.178046392
7) 0.11408411
I need to Highlight number 0.145493415 ,0.151092791,0.15407891 (column 3,4,5) which is closest in the list.
Assuming you have unsorted data in A1:A7 without duplicates, and the "3 closest values" are those where the difference between smallest and largest (of the three) is the smallest difference of any three values in that range, then you can use this formula in conditional formatting
=ABS(RANK(A1,A$1:A$7)-MATCH(MIN(LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2)))-LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2))+2)),LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2)))-LARGE(A$1:A$7,ROW(INDIRECT("1:"&COUNT(A$1:A$7)-2))+2),0)-1)<=1
It's rather complex but it can equally be applied to any sized list of values, even containing blanks or text values in the range
If there's more than one set of 3 with the same "spreadover" then the formula only highlights the largest set of values.
See this example
Here for completeness is my answer to the much simpler problem of highlighting the nearest three adjacent numbers in the original data but it's only valid if data are all in ascending or descending order so needs further work:-
=OR(
AND(ROW()<=5,ABS(A3-A1)=MIN(ABS(A$3:A$7-A$1:A$5))),
AND(ROW()<=6,IFERROR(ABS(A2-OFFSET(A1,-1,0))=MIN(ABS(A$3:A$7-A$1:A$5)),FALSE)),
AND(ROW()<=7,IFERROR(ABS(A1-OFFSET(A1,-2,0))=MIN(ABS(A$3:A$7-A$1:A$5)),FALSE))
)
Limitations: Data must be in ascending or descending order. All cells in range A1:A7 have to contain numbers. Treats empty cells as zero.
The basic formula to highlight the first cell in a group of three nearest cells without assuming that the data are in order would be:-
=ABS(A2-A1)+ABS(A3-A2)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6))
The formula to highlight three cells would then be:-
=OR(
AND(ROW()<=5,ABS(A2-A1)+ABS(A3-A2)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6))),
AND(ROW()<=6,IFERROR(ABS(A1-OFFSET(A1,-1,0))+ABS(A2-A1)=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6)),FALSE)),
AND(ROW()<=7,IFERROR(ABS(OFFSET(A2,-2,0)-OFFSET(A1,-2,0))+ABS(A1-OFFSET(A2,-2,0))=MIN(ABS(A$2:A$6-A$1:A$5)+ABS(A$3:A$7-A$2:A$6)),FALSE))
)
Limitations: All cells in range A1:A7 have to contain numbers. Treats empty cells as zero.
In response to the question of whether it only works for exactly seven cells, here is a version of the formula that works for any block of numbers starting at A1 and followed by a block of empty cells within the range A1:A1000:-
=OR(
AND(ROW()<=COUNT(A$1:A$1000)-2,ABS(A2-A1)+ABS(A3-A2)=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999)))),
AND(ROW()<=COUNT(A$1:A$1000)-1,IFERROR(ABS(A1-OFFSET(A1,-1,0))+ABS(A2-A1)=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999))),FALSE)),
AND(ROW()<=COUNT(A$1:A$1000),IFERROR(ABS(OFFSET(A2,-2,0)-OFFSET(A1,-2,0))+ABS(A1-OFFSET(A2,-2,0))=MIN(IF(ROW(A$3:A$1000)<=COUNT(A$1:A$1000),ABS(A$2:A$999-A$1:A$998)+ABS(A$3:A$1000-A$2:A$999))),FALSE))
)
Limitations: The block of numbers must not contain any empty cells or text.
If there are two groups with the same least spread, both will be highlighted.
These formulae can be used in conditional formatting or as stand-alone array formulae.
You changed the list! First, you have to sort the list from smallest to largest. Then:
In cell B2 put =A2-A1
In cell B3 put =A3-A2
In cell B4 put =A4-A3
In cell B5 put =A5-A4
etc.
In cell b10, calculate the first closest pair: =min(B1:B8)
In cell B11, calculate the row number of the first closest pair:=Match(B10,B1:B8,0)
In cell C2, put =if(row(C2)=b$11, 9999, B2)
copy down to cell C9
In cell C10, calculate the SECOND closest pair: =min(C1:C8)
In cell C11, calculate the row number of the SECOND closest pair:=Match(C10,C1:C8,0)
copy column c to column d and e
column e will have 9999 in the lowest three values
Highlight A1:A10, sELECT conditional formatting, enter formula "$e1=9999"

Resources