2015-11-11 3 views
1

J'ai une feuille de calcul (ancien rapport) sur laquelle j'ai la colonne "A". Cela contient une formule et qui tire des nombres (par exemple: 21212, 122, 121212)Alternative à la formule matricielle - Trier les valeurs uniques

Sur une feuille différente, je veux les valeurs uniques formulées sans espaces (verticalement). J'archieved cela en utilisant ce site:

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A")),1,COUNTIF($L$1:L1, INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A"))), 0) 

problème est, cette formule est en retard la feuille de calcul.

Existe-t-il un autre moyen de le faire sans tableaux?

Cela ne me dérange pas d'utiliser des colonnes auxiliaires.

+0

Pouvez-vous mettre une limite supérieure sur le nombre de lignes dans 'Ancien rapport'? –

+0

Je peux aller avec 2000 lignes de formule. Mais tous les 2000 ne seraient pas peuplés. Seuls certains auraient des numéros et certains numéros seraient répétés comme je l'ai mentionné ci-dessus. – Dingo

+1

Ensuite, il vaut tout d'abord juste de remplacer $ A: $ A par $ A $ 1: $ A $ 2000 et l'essayer parce que $ A: $ A implique 1 048 576 lignes –

Répondre

0

Essayez de remplacer $ A: $ A avec $ A $ 1: $ A $ 2000 pour la formule devient

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000")),1,COUNTIF($L$1:L1, INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"))), 0) 

ce qui réduit le nombre de calculs de 1.048.576 à 2000.

Bien sûr, il s'agit toujours d'une formule matricielle mais les formules matricielles sont OK si vous n'essayez pas de les utiliser avec trop de lignes.