Comment trouver la prochaine cellule avec de la valeur et obtenir la différence de date

1

J'ai 5 colonnes. J'ai besoin de trouver le temps entre (en jours) entre les valeurs du même type dans la deuxième colonne. La dernière colonne calcule déjà la différence de temps entre chaque date. Pour ce faire, il prend la date de cellule actuelle moins la date de la cellule précédente. IE: ça fait 1 jour depuis le dernier événement

J'essaie de comprendre comment faire cela: la colonne 3 trouverait la différence de temps entre la colonne 2 qui contient "s". La colonne 4 trouverait la différence de temps entre toutes les autres lettres.

Exemple de données:

exemple de données

oiseau de nuit
la source
Que voulez-vous dire par "La colonne 4 trouverait la différence de temps entre toutes les autres lettres"? Veuillez mettre à jour votre question et les exemples de données pour inclure la sortie complète attendue dans les colonnes 3 et 4.
Atzmon

Réponses:

0

Tout d’abord, ajoutez une ligne d’en-tête au-dessus de vos données, à la ligne 1, et commencez par les données à la ligne 2.

Dans la cellule C2, entrez cette formule:

=IFERROR(IF(B2="s",A2-INDIRECT("A"&LOOKUP(2,1/($B$1:$B1="s"),ROW($B$1:$B1))),"-"),"n/a")

Dans la cellule D2, entrez cette formule:

=IFERROR(IF(B2<>"s",A2-INDIRECT("A"&LOOKUP(2,1/($B$1:$B1<>"s"),ROW($B$1:$B1))),"-"),"n/a")

Remplissez chaque formule dans toutes vos lignes. Vous obtiendrez ce résultat:

image de "S" et "non S" date calcs

Explication

La formule de la colonne C fonctionne d'abord en vérifiant si la colonne B = "s", puis elle recherche ( lookup) la colonne B vers le haut pour l'instance précédente de "s", puis utilise le numéro de ligne de cette instance ( indirect) pour faire référence à la date la concernant. et effectue la somme de la date. La formule de la colonne D fait la même chose, sauf qu'elle correspond à autre chose que "s".

La première instance de "s" dans la colonne C et la première instance de "non-S" dans la colonne D entraîneront des erreurs (car aucune donnée précédente), de sorte que les formules sont entourées de iferrorfonctions qui modifient le # N / A résultat d'erreur dans une chaîne n / b de nettoyeur (cellules C4 et D2).

Si vos données ne commencent pas en haut à gauche

Si vos données ne commencent pas à la ligne 2, continuez de coller les formules ci-dessus à l'endroit où je dis, puis copiez-les et collez-les à l'endroit où elles devraient se trouver sur votre feuille. La plupart des références de ligne seront mises à jour en conséquence. changez les instances de $1:pour $1:qu'elles correspondent à votre ligne d'en-tête (par exemple, si votre ligne d'en-tête est 25, alors les instances de deviendraient $25:). Si vos données ne commencent pas dans la colonne A, vous devrez modifier manuellement les lettres des colonnes en conséquence dans les formules. Par exemple, si vos données commencent dans la colonne F, modifiez chaque instance de Ato Fet chaque instance de Bto G.

David
la source
Merci pour votre explication claire et votre formule. C'était exactement ce dont j'avais besoin.
nightowl
0

Je sais que ce n'est pas exactement comme cela que cela devrait être fait, mais j'essaie généralement d'utiliser plus de colonnes pour m'aider à résoudre de telles tâches. Dans l’un d’eux, j’excellent la liste des dates de la valeur que j’entre ailleurs (je ne sais pas quelle est votre tâche, mais pour moi, c’est peut-être l’ID du projet). Et puis dans la colonne supplémentaire, il est facile de calculer la différence entre eux. Je sais que vous pouvez faire un script ou quelque chose de similaire, mais si vous êtes d'accord avec la solution sale, celle-ci fonctionne aussi ...

J'utiliserais une autre colonne avec une fonction IF, ce qui lui permettrait d'écrire la valeur de la colonne de date si l'ID correspond à la valeur requise. Vous obtiendrez une cellule vide ou une date. Il devrait alors être facile d’utiliser une autre colonne pour calculer le nombre de jours depuis la dernière cellule non vide.

J'espère que cela t'aides...

Martin Korman
la source
Merci pour votre suggestion. C’est en fait ce que j’avais fait auparavant, mais je travaillais sur cette nouvelle méthode pour refactoriser mon ancienne feuille.
nightowl