Question

J'essaie d'éviter d'utiliser Excel trop, mais quand je le fais, j'aime utiliser des références structurées comme ils semblent beaucoup plus propre à écrire.

Si je crée une table appelée « table1 » avec des colonnes « col1 » et « col2 » comment pourrais-je faire référence à la première ligne « col1 » en utilisant une référence structurée dans une autre table? J'ai essayé la syntaxe =table1[[#this row],[col1]], et juste obtenir une erreur. Y at-il une syntaxe comme =table1[1,1] or =table1[1,[col1]]? Bien sûr, cela ne fonctionne pas non plus, mais ce qui est l'équivalent?

Il est très ennuyeux, car il semble que cela devrait être simple.

Était-ce utile?

La solution

Table1[[#This Row][Column1]] fait le travail, mais la formule doit être sur la même ligne que la ligne de table que vous souhaitez référencer.

Pour référencer la première ligne, d'ailleurs, utilisez COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian]) Ou un peu plus le SUMIFS() complexe si vous avez besoin des valeurs numériques au lieu de compte, comme mentionné par studgeek:

SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian])

Vous aurez bien sûr besoin de critères de ligne uniques permettant de sélectionner la ligne. Ainsi, par exemple:

Table1
ID Value Name
1  2     Two
2  4     Four
3  8     Eight

SUMIF(Table1[Value], Table1[ID], 2) ... retourne une valeur de 4 (ou zéro si ID = 2 non trouvée). Si votre valeur est numérique, alors vous ne pouvez pas utiliser cette méthode, évidemment.

Cependant, akuhn presque a frappé la vraie réponse, mais il ne va pas assez loin dans son explication / par exemple, l'OMI.

INDEX(Table1[Name], 2) renvoie "Quatre" retourne INDEX(Table1, 1, 1) 1

Autres conseils

essayer

=INDEX(col1,1)

vous pouvez même traiter les cellules dans un tableau 2-dim, en utilisant

=INDEX(reference,row_num,column_num)

L'astuce dans ce cas est d'utiliser la fonction Excel OFFSET:

  • Accès au 1er rang de la colonne nommée Column1 dans la même table: OFFSET([Column1],0,0,1)
  • Accès à la 2e rangée OFFSET([Column1],1,0,1)

etc.

Bien sûr, vous pouvez l'utiliser pour accces une autre table et la colonne simplement en préfixant avec le nom de la table. Par exemple OFFSET(Table2[Column3],4,0,1)will accéder à la 4ème ligne de la colonne « Colonne3 » de « Tableau2 »

Il ne semble pas être un moyen explicite d'utiliser le référencement structuré à des lignes particulières dans une table. Comme Adrian dit, vous pouvez utiliser INDEX.

Vous pouvez également utiliser l'intersection implicite pour référencer la même ligne: si table1 est en ligne 05:10 et le tableau 2 est également en ligne 05h10 puis en utilisant une référence structurée avec les noms de colonnes coupera implicitement la même ligne.

Vous pouvez également saisir la référence structurée comme une formule de tableau multiligne (sélectionner plusieurs cellules, entrez la formule et utiliser Ctrl-Maj-Entrée) dans les différentes lignes et cela fonctionnera.

Au lieu d'INDEX Je suggère SUMIF. Il vous permettra d'utiliser les valeurs de la table plutôt que des nombres explicites de ligne (qui peut casser si vous commencez le filtrage ou la commande). Par exemple (à partir du lien suivant), cela résume la colonne Montant et inclure uniquement les lignes où le type est égal à Vérifiez et où compte est égal Utilities: =SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)

Voir ce lien plus d'informations: http://office.microsoft.com/en-us/excel-help/using-structured-references-with-excel-tables-HA010155686.aspx

Ce serait bien si une table pourrait avoir une colonne désignée comme la clé primaire (qui peut être numérique ou chaîne), puis un ref structuré pourrait inclure une façon de faire référence à une ligne par sa clé primaire.

Ce serait sucre syntaxe autour RECHERCHEV, mais la table pouvait savoir si elle a été triée sur la clé primaire, et faire des recherches efficaces seulement dans ce cas. Il semble que RECHERCHEV mal il intègre qui trouve la mauvaise ligne si vous dépendez triée, en particulier lorsque les tables sont un moyen pratique pour trier les lignes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top