英文:
Improve calculating time for show several different result from a research
问题
这是我的公式在D2单元格中:
=IFERROR(INDEX(B:B,SMALL(IF(ISNUMBER(MATCH(A:A,$D$1,0)),MATCH(ROW(A:A),ROW(A:A),"")),ROWS($A$1:A1))),"")
它能正常工作,但是当我将这个公式扩展到大量数据时,我的工作簿变得非常慢(慢得我无法移动到工作表甚至选择单元格)。
我需要将计算方法设置为“手动”来更改工作表。
有没有办法以不同的方法/方式获得相同的结果?
英文:
The aim of this sheet is to show every results (even if it's different) in range D:D from the spreadsheet in A1:B11 with the accurate city in D1.
This is my formula in D2 :
=SIERREUR(INDEX(B:B;PETITE.VALEUR(SI(ESTNUM(EQUIV(A:A;$D$1;0));EQUIV(LIGNE(A:A);LIGNE(A:A));"");LIGNES(($A$1:A1))));"")
It works well, BUT, when I extend this formula to a lot of data, my workbook become very very slow (such slow that I can not move toward the sheet and even select cells).
I needed to put the calculating method to "Manual" for change the sheet.
Any ideas to get the same result but with a different method/way ?
答案1
得分: 1
=FILTER(Table7[rank],Table7[City]=$D$1)
=SORT(FILTER(Table7[rank],Table7[City]=$D$1))
Unsorted: =IFERROR(INDEX(Table7[rank],AGGREGATE(15,6,1/(Table7[City]=$D$1)*(ROW(Table7)-ROW(Table1[#Headers])),ROWS($1:1))),"")
Sorted: =IFERROR(AGGREGATE(15,6,1/(Table7[City]=$D$1)*Table7[rank],ROWS($1:1)),"")
英文:
If you have the very latest version, with the FILTER
function, (and with your city/rank information in a Table) you can use:
=FILTER(Table7[rank],Table7[City]=$D$1)
To sort ascending, you can use the new SORT
function:
=SORT(FILTER(Table7[rank],Table7[City]=$D$1))
For those with older versions of Excel, but with the AGGREGATE
function (which I think appeared in 2010 (possibly 2007)), you can use
Unsorted: =IFERROR(INDEX(Table7[rank],AGGREGATE(15,6,1/(Table7[City]=$D$1)*(ROW(Table7)-ROW(Table1[#Headers])),ROWS($1:1))),"")
Sorted: =IFERROR(AGGREGATE(15,6,1/(Table7[City]=$D$1)*Table7[rank],ROWS($1:1)),"")
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论