J'ai une feuille avec 20 000 lignes. Chaque ligne a un ID d'objet, qui peut apparaître plusieurs fois dans la feuille. Chaque ligne contient également des coordonnées, car ce sont des points du monde réel. Chaque objet peut apparaître plusieurs fois dans la feuille car une ligne représente un objet trouvé dans une image. Et 1 image = 1 jour, d’où l’attribut date.
Je dois interroger la colonne avec les ID d'objet, ce que je sais faire à l'aide de INDEX: MATCH. Mais je dois ensuite calculer, pour chaque objet, la distance entre les coordonnées successives. Je calcule la distance en utilisant cette formule: d = (sqrt ((x2-x1) ^ 2 + (y2-y1) ^ 2)). Le problème que j'ai est comment créer une formule Excel pour calculer entre les lignes de correspondance successives.
Dans l'exemple, j'ai mis en surbrillance les lignes avec l'ID d'objet 30. Elles apparaissent 7 fois. Il me faudrait calculer la distance entre les entrées successives, 30 (1) vs. 30 (2), 30 (2) vs. 30 (3), etc., soit six calculs de distance. Je dois le faire pour chaque ID d'objet (à l'exception des ID d'objet uniques)
Réponses:
J'ai supposé une disposition de données minimale - les lignes contiennent l'ID, la coordonnée X, et Y se coordonnent dans les colonnes
A
,B
, etC
, respectivement. En colonneD
, utilisationMATCH
pour trouver la ligne suivante avec le même identifiant. En colonnesE
etF
, utilisationINDEX
trouver les coordonnées X et Y pour la prochaine occurrence du même identifiant. En colonneG
, calcule la distance entre ce point et le suivant.D2
→=MATCH(A2, A3:A$9, 0)+ROW()
E2
→=INDEX(B:B, $D2, 1)
F2
→=INDEX(C:C, $D2, 1)
G2
→=IF(ISERROR(D2), "", SQRT((E2-B2)^2+(F2-C2)^2))
(remplaçant le
9
dans la formule pourD2
avec votre dernier numéro de ligne de données valide) et faites glisser / remplir vers le bas.Les valeurs de distance s'avèrent être des entiers parce que j'ai choisi les deux premiers triples pythagoriciens (3-4-5 et 5-12-13) pour les vecteurs inter-points.
la source