Créez une référence de cellule sans connaître la ligne # (numéro)


16

Cela ne peut pas être une question de feuille de calcul plus basique, mais j'ai toujours été un peu un gars SQL ...

Comment créer une formule dans laquelle une valeur sera extraite d'une autre colonne de la ligne actuelle. Ne peut pas être le «E2» conventionnel car la ligne actuelle peut être 3.

Le problème se résume à définir une formule où l' ROWindicateur est relatif. $E2fonctionne lorsque la formule est évoquée sur la ligne # 2 mais échoue lorsqu'elle est évoquée sur la ligne # 3. Je crée des lignes via l'API - mon code ne peut pas savoir quel numéro de ligne est inséré.


Vous voudrez peut-être indiquer le programme que vous utilisez.

la feuille de calcul de googleDocs, mais je vais manger mon chapeau s'il est différent d'Excel.
justSteve

Réponses:


16

La ROWfonction renvoie le numéro de ligne de n'importe quelle cellule ou plage.

La syntaxe est: Row( reference ) mais si le paramètre de référence est omis, il suppose la cellule dans laquelle la fonction Row a été entrée.

Cela peut être utilisé pour faire référence aux cellules utilisant indirect, par exemple, =indirect("C" & row())fait référence à la colonne C dans la ligne actuelle.


6

=R[0]C[-1]aurait du sens, mais la notation R1C1 ne fonctionne pas dans la nouvelle version de Google Sheets, sauf dans la fonction INDIRECT (ref, FALSE) , par exemple INDIRECT("R1C1", FALSE).

Alors écrivez:

=INDIRECT("R[0]C[-1]", FALSE)

La séparation des paramètres se ferait par ';' pas par ','.
Jpsy

2
@Jpsy Dépend de votre environnement local. C'est ,pour certains pays et ;pour d'autres.

Whow @sandwich - cela explique les tracas constants que j'ai eu avec les documents. AFAIK même Excel a cette différence en fonction des paramètres régionaux. Sûrement un gros problème pour de nombreux utilisateurs qui rencontrent ce problème sans comprendre pourquoi leurs commandes ne fonctionnent pas comme décrit dans la documentation. Merci pour l'explication!
Jpsy

3

Le $fichier in excel (et la feuille de calcul de google doc) est utilisé pour créer des références absolues (non relatives). En d'autres termes, $e$3fera référence à e3, peu importe où il est copié, de n'importe où dans lequel il est copié. Vous devez verrouiller la colonne et la ligne individuellement (sinon l'autre changera).


S'applique également aux numéros Apple.

[cherchez les erreurs sur les votes] Je recherche l'expression de ligne relative de colonne absolue. Toujours vouloir la valeur de E de la ligne par rapport à la ligne actuelle.
justSteve

$ e2 ou le numéro que vous voulez là-bas.
soandos

n'est pas «2» absolu? J'ai besoin d'un moyen de spécifier la «ligne actuelle».
justSteve

Le 2 n'est pas absolu, juste le e l'est. Le $ ne verrouille que ce qui le suit immédiatement, pas le tout.
soandos

-1

Utilisation:

=R[0]C[-1]

Les crochets signifient qu'il s'agit d'une référence relative. =R1C1est le même que=A1

cela fonctionne dans google docs, vous n'êtes pas sûr d'exceller.


1
R [1] C [-1] ne fait pas = A1. Étiez-vous en train de référencer intentionnellement une cellule différente avec l'utilisation de crochets?
OnenOnlyWalter

1
taper = R [0] C [-1] dans la cellule B1 équivaut à taper = A1. Dans Google docs, il se convertira automatiquement l'un en l'autre.
eddy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.