lindstroem
New Member
- Joined
- Mar 2, 2015
- Messages
- 39
- Office Version
- 2016
Been a while but now i've once more hit a calculation efficiency wall. It's always sad that the most elegant and compact formula decisions that often leads to higher calculation times.
File-description and end goal:
Inputdata consisting of up to 50.000 data rows contains a maximum of 5000 data points that is to be found and listed in a separate sheet. The datarow of interest looks like this and can be identified by that the lines of interest always start with "20". This dataline along with the cell beneath this is listed in the separate sheet. I have managed this with 1xarrayformula per row which results and a formula that then identifies the row number of the array formula result and adds +1 on the row to get the row beneath
Please help with improving calculation speed.
Does anyone have any tips on how to remove the need for the array-formula or making it faster? Creating a better identifier on the first page with relevant row data that can be used as direct reference in the second sheet?
Very much open for suggestions and input!
Simplified input data example (Sheet1)
End goal - Finished list in the a new sheet (Sheet 2)
Array formula per line currently used
{=INDEX(SHEET1!$A$2:$A$50022,MIN(IF(LEFT(SHEET1!$A$2:$A$50022,2)="20",ROW(SHEET1!$A$2:$A$50022)-ROW(SHEET1!$A$2)+1),ROWS(SHEET1!$A$2:$A2)))}
File-description and end goal:
Inputdata consisting of up to 50.000 data rows contains a maximum of 5000 data points that is to be found and listed in a separate sheet. The datarow of interest looks like this and can be identified by that the lines of interest always start with "20". This dataline along with the cell beneath this is listed in the separate sheet. I have managed this with 1xarrayformula per row which results and a formula that then identifies the row number of the array formula result and adds +1 on the row to get the row beneath
Please help with improving calculation speed.
Does anyone have any tips on how to remove the need for the array-formula or making it faster? Creating a better identifier on the first page with relevant row data that can be used as direct reference in the second sheet?
Very much open for suggestions and input!
Simplified input data example (Sheet1)
200000844506 00000000013520003030201000476529 |
50 ANDERSSON |
345345220202 |
200000844507 00000000013520003030201000476529 |
50 JOHANSSEN |
345345220345345934202 |
200000844508 00000000013520003030201000476529 |
50 MARK |
23492342342938 |
End goal - Finished list in the a new sheet (Sheet 2)
200000844506 00000000013520003030201000476529 | 50 ANDERSSON |
200000844507 00000000013520003030201000476529 | 50 JOHANSSEN |
200000844508 00000000013520003030201000476529 | 50 MARK |
Array formula per line currently used
{=INDEX(SHEET1!$A$2:$A$50022,MIN(IF(LEFT(SHEET1!$A$2:$A$50022,2)="20",ROW(SHEET1!$A$2:$A$50022)-ROW(SHEET1!$A$2)+1),ROWS(SHEET1!$A$2:$A2)))}