J'ai une colonne, appelée A, d'environ 1500 cellules. Chaque cellule contient "a" ou "b". Pour l'essentiel, As et Bs alternent, mais il y a parfois des valeurs répétitives.
Un exemple de A1:A20
pourrait être le suivant: {a,b,a,b,a,b,a,b,a,b,a,b,b,a,b,a,b,a,a,b}
. (Dans mes données réelles, ces valeurs peuvent être différentes, mais il est garanti que la liste complète des cellules commence par "a" et se termine par "b").
Dans les colonnes B et C, j'ai d'autres valeurs (dans ma feuille de calcul réelle, ce sont des dates). Chaque "a" ou "b" dans la colonne A correspond à deux dates dans la même ligne (une dans la colonne B et une dans la colonne C).
Mon objectif est de supprimer les doublons As et Bs (de la manière décrite ci-dessous), ainsi que les dates associées à ces valeurs de doublon. Je devrais me retrouver avec une liste alternant As et Bs, appariés aux mêmes dates que dans les données d'origine (toutes les colonnes se déplacent de manière synchrone).
Les règles de suppression des doublons sont les suivantes:
Je pense que cela pourrait être mieux réalisé avec un filtre (peut-être une requête?), Mais je n’étais pas capable de le faire fonctionner ou même de paraître proche. En utilisant l'exemple ci-dessus, A13
(et le B13:C13
correspondant) et A18
(et le B18:C18
correspondant) devraient être supprimés. Le A1:A20
résultant (après que les valeurs ci-dessous ont été décalées vers le haut) devrait indiquer {a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,...}
. Toutes les valeurs restantes de la colonne A doivent toujours être associées à la valeur d'origine de la colonne B.
Comme solution semi-alternative, serait-il possible d'écrire un script de formatage conditionnel pour mettre en évidence les valeurs en double? Il n’est pas trop difficile de supprimer manuellement les valeurs répétées (il en existe très peu), mais il est très difficile de dire lesquelles supprimer sans qu’elles soient surlignées. J'ai essayé de mettre en évidence "a" une couleur et "b" une autre pour rechercher des motifs non alternés, mais il était toujours difficile de les reconnaître rapidement.
cela peut être fait avec la force brute :)
voici la feuille: https://docs.google.com/spreadsheets/d/
vous pouvez mettre des calculs de D à AE en séparer feuille ou tout simplement cacher ces colonnes
ofcourse AF (respectivement AG, AH) peut être déplacé vers le bas pour la population. sélectionnez AF2: AF5 et faites glisser le carré bleu. vous pouvez également supprimer la moitié de ces colonnes - je les ai laissées ici, afin que vous puissiez voir le processus complet d'obtention du résultat final
Voici un exemple de fonction personnalisée que vous pouvez apprendre, rechercher, déboguer et modifier à votre guise:
function DupeDestroyX(range,a,b,index) {
var j = index-1 || 0;
for(var i=0;i<(range.length-1);i++){ //loop over all entries
try {
if(range[i][j]==a && range[i+1][j]==a) { // if current entry is a and next entry is also a
range.splice(i,1); // delete current entry
if (range[i+1][j]==a) {i--} //If next entry is also a (after deleting),loop repeat this iteration
}
if(range[i][j]==b && range[i+1][j]==b) {
range.splice(i+1,1); //delete next entry
if (range[i+1][j]==b) {i--}
}
}
catch(e) {continue;}
}
return range;
}
Usage:
=DupeDestroyX(A1:C,"a","b")