Dans l'article précédent « Conseils pratiques Partage Excel : Comment ignorer les colonnes masquées pour la somme ? 》, nous avons découvert la méthode de sommation en ignorant les colonnes cachées. Aujourd'hui, nous allons parler du regroupement et de la numérotation des données, et vous présenter comment réaliser rapidement le regroupement et la numérotation automatiques de 16 000 lignes de données en 3 secondes. Venez apprendre !
Il y a 16 000 personnes participant à l'« Accord de retenue et de paiement de la sécurité sociale ». Chaque 16 personnes doit être définie en groupe. Les numéros en double pour les lignes 1 à 16 sont 1, les numéros en double pour les lignes 17 à 17. 32 valent 2,... , le nombre de lignes en double 15985-16000 est 1000. Comment faire ?
Ce qui précède est un vrai problème que j'ai aidé un ami à résoudre il y a quelque temps. Je l'ai appelé numérotation de duplication de groupes de données. 16 000 lignes de données, numérotées de 1 à 1 000. Si vous utilisez la méthode de saisie de nombres + collage, la charge de travail sera importante et sujette aux erreurs. Sur cette base, je partagerai avec vous deux méthodes pour réaliser le regroupement et la numérotation automatiques de 16 000 lignes de données en 3 secondes.
Méthode 1 : Méthode fonctionnelle
1. Étapes de l'opération
(1) Modifiez la formule "Numérotation continue". Entrez la formule dans la cellule A1 : =IF(MOD(ROW(A1),16)=0,ROW(A1)/16,INT(ROW(A1)/16)+1). Comme le montre l'image ci-dessous :
Remarque : Tous les chiffres, symboles et signes de ponctuation de la formule doivent être saisis dans l'état « Méthode de saisie en anglais »
(2) Sélectionnez rapidement la zone « Numérotation à répétition continue ». Sélectionnez et cliquez sur la cellule A1 avec la souris ; saisissez A16000 dans la barre d'adresse d'Excel ; maintenez la touche « Maj » enfoncée sans lâcher, puis appuyez sur la touche « Entrée ». Après avoir effectué les trois étapes ci-dessus, vous pouvez sélectionner rapidement la zone qui doit être numérotée à plusieurs reprises. Comme le montre l'image ci-dessous :
(3) Remplissez rapidement la formule. Après avoir sélectionné la zone « Numérotation continue », dans l'onglet « Accueil », cliquez sur l'onglet « Remplir » et sélectionnez l'option « Vers le bas » pour terminer le remplissage automatique de la formule. Le résultat de la « Numérotation répétée continue » est présenté dans la figure ci-dessous :
Remarque : De nombreux amis ont l'habitude de remplir des formules en les faisant glisser avec la souris. Puisqu'il y a jusqu'à 16 000 lignes de nombres, ce sera le cas. faire glisser et remplir avec la souris prend beaucoup de temps, nous ne le recommandons donc pas.
2. Explication de la fonction
Au total, 4 fonctions sont utilisées dans la formule. Voyons d'abord les fonctions respectives de ces quatre fonctions. Fonction
ROW(). La fonction ROW() renvoie le numéro de ligne de n'importe quelle cellule de la ligne, par exemple : ROW(A13)=13, ROW(B13)=13.
Fonction INT(). Fonctions d'arrondi, telles que : INT (0,1)=0, INT (2)=2, INT (3,7)=3, INT (-1,1)=-2. C'est-à-dire : lorsque x ≥ 0, INT (x) = la partie entière de la valeur x (non arrondie)
Lorsque x
Fonction MOD(). Trouvez le reste après avoir divisé deux nombres, par exemple : MOD(1,16)=1, MOD(16,16)=0. Lorsque MOD(x,y)=0, x est un multiple entier de y. (Remarque : le premier paramètre est le dividende et le deuxième paramètre est le diviseur)
Fonction IF(). La fonction IF() a trois paramètres, à savoir : IF (expression de jugement logique, résultat 1, résultat 2). Lorsque l'expression de jugement logique est établie (c'est-à-dire vrai : TRUE), la fonction IF() renvoie le résultat 1 lorsque ; l'expression de jugement logique La formule ne tient pas (c'est-à-dire qu'elle est fausse : FALSE), et la fonction IF() renvoie le résultat 2.
Alors comprenons le sens de toute la formule.
=IF(MOD(ROW(A1),16)=0,ROW(A1)/16,INT(ROW(A1)/16)+1)
IF premier paramètreMOD(ROW(A1),16)=0 : Déterminez si le reste après avoir divisé le numéro de ligne de la cellule par 16 est égal à 0, c'est-à-dire si le numéro de ligne est divisible vers 16 ans. Évidemment, 16, 32, etc. peuvent être divisibles par 16, le reste = 0, et la condition est vraie ; 15, 17, etc. ne peuvent pas être divisibles par 16, le reste ≠ 0, et la condition n'est pas vérifiée.
IF deuxième paramètreROW(A1)/16 : Lorsque la condition du premier paramètre est vraie, le nombre est égal au quotient du numéro de ligne divisé par 16. Par exemple :
A16, nombre = ROW(A16)/16=16/16=1
A32, nombre = ROW(A32)/16=32/16=2
……
IF troisième paramètre INT(ROW(A1)/16)+1 : Lorsque le premier paramètre n'est pas vrai, le nombre est égal au quotient du numéro de ligne divisé par 16, arrondi à l'entier supérieur puis ajouté par 1. Par exemple :
A15, nombre = INT(ROW(A15)/16)+1= INT(15/16)+1=INT( 0,9375) +1=0+1=1
A17, nombre = INT( ROW (A17)/16)+1= INT (17/16) +1=INT( 1.0625) +1=1+1=2
…
Méthode 2 : méthode VBA
1, Étapes de fonctionnement
(1) Entrez dans la fenêtre d'édition VBA. Appuyez sur la combinaison de touches Alt+F11 (ou cliquez sur le bouton "Visual Basic" dans l'onglet "Outils de développement") pour entrer Visual Basic dans Excel.
(2) Sélectionnez la commande "Module" dans le menu "Insérer", puis entrez le code suivant dans la fenêtre de droite :
Sub rep() Dim i% For i = 1 To 1000 Sheet2.Range("A" & (16 * i - 15) & ":A" & (16 * i)) = i Next i End Sub
(3) Appuyez sur la touche F5 (ou cliquez sur le bouton Exécuter dans la barre d'outils rapide) pour exécuter ce qui précède Après le programme, vous pouvez générer rapidement des nombres répétés consécutifs dans les cellules A1:A16000. Le processus d'opération prend moins d'une seconde, comme le montre la figure ci-dessous.
2. Explication du code
Pour i = 1 à 1000
: utilisé pour spécifier la plage de valeurs du nombre. Si la valeur numérique est comprise entre 2 et 25, écrivez Pour i = 2 à 25
. For i = 1 To 1000
:用于指定编号的取值范围。如果编号取值是2到25,则写成For i = 2 To 25
。
Sheet2:用于指定需要编号的工作表。sheet2并非指的是工作表的名称,而是指Excel工作簿的第2张表(从左向右),若需要在第1张表中生成编号,只需将代码改成sheet1即可,其他情况类推。
Range("A" & (16 * i - 15) & ":A" & (16 * i))
:用于指定编号的单元格范围和规则,意思是从A1单元格开始到A(16 * i)
单元格止每16个单元格编1个号。
"A"指的是需要生产编号的列号,若需要在B列或C列生成编号,则写成“B”或者“C”;
若需在某一列第m个单元格开始生成编号,则只需将16 * i – 15
替换成16 * i+m-16
、16 * i
替换成16 * i+m-1
即可。
若需要每5个单元格编1个号,并从B1开始编号,则可以写成Range("B" & (5 * i - 4) & ":B" & (5 * i))
Range("A" & (16 * i - 15) & ":A" & (16 * i))
: La plage de cellules et les règles utilisées pour spécifier le nombre, c'est-à-dire à partir de A1 Chaque 16 cellules depuis le début de la cellule jusqu'à la cellule A (16 * i)
sont numérotées. "A" fait référence au numéro de colonne qui nécessite un numéro de production. Si vous devez générer un numéro dans la colonne B ou C, écrivez "B" ou "C"
16 * i – 15
par 16 * i+m-16
et 16 * i code> avec <code> 16 * i+m-1
suffit. Range("B" & (5 * i - 4) & ":B" & (5 * i) )
Key Review
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!