이전 글 "엑셀 실용팁 공유: 합계 계산 시 숨겨진 열을 무시하는 방법은? 》에서는 숨겨진 열을 무시하고 합산하는 방법에 대해 알아봤습니다. 오늘은 데이터 그룹화 및 넘버링에 대해 이야기하고, 16,000행의 데이터를 3초 안에 자동으로 그룹화 및 넘버링하는 방법을 소개하겠습니다.
"사회보장 원천징수 및 지급 협약"에 참여하는 인원은 16,000명이며, 1~16번째 줄의 중복번호는 1, 17~16번째 줄은 중복번호로 설정해야 합니다. 32는 2,..., 15985~16000 행의 중복 개수는 1000입니다. 어떻게 하나요?
위 내용은 제가 얼마전에 친구의 도움을 받아 데이터 그룹 중복 넘버링이라고 불렀던 실제 문제입니다. 1부터 1,000까지 번호가 매겨진 16,000개의 데이터 행. 숫자입력 + 붙여넣기 방식을 사용하게 되면 작업량이 많아지고 오류가 발생하기 쉽습니다. 이를 바탕으로 16,000행의 데이터를 3초 안에 자동으로 그룹화하고 번호를 매기는 두 가지 방법을 알려드리겠습니다.
방법 1: 함수 방법
1. 작업 단계
(1) "연속 반복 번호 매기기" 공식을 편집합니다. 셀 A1에 =IF(MOD(ROW(A1),16)=0,ROW(A1)/16,INT(ROW(A1)/16)+1) 수식을 입력합니다. 아래 그림과 같이
참고: 수식의 모든 숫자, 기호, 구두점은 "영어 입력 방법" 상태에서 입력해야 합니다.
(2) "연속 반복 번호 매기기" 영역을 빠르게 선택하세요. 마우스로 A1 셀을 선택하고 클릭합니다. Excel 주소 표시줄에 A16000을 입력하고 "Shift" 키를 누른 상태에서 "Enter" 키를 누릅니다. 위의 세 단계를 완료하면 반복적으로 번호를 매겨야 하는 영역을 빠르게 선택할 수 있습니다. 아래 그림과 같이
(3) 빠르게 수식을 채워보세요. "연속 반복 번호 매기기" 영역을 선택한 후 "홈" 탭에서 "채우기" 탭을 클릭하고 "아래로" 옵션을 선택하면 수식 자동 채우기가 완료됩니다. "연속 반복 번호 매기기"의 결과는 아래 그림과 같습니다.
참고: 많은 친구들은 숫자 행이 16,000개나 되기 때문에 마우스로 드래그하여 수식을 채우는 데 익숙합니다. 마우스로 끌어서 채우는 데 시간이 많이 걸리므로 권장하지 않습니다.
2. 함수 설명
수식에는 총 4개의 함수가 사용됩니다. 먼저 이 네 가지 기능의 각 기능을 살펴보겠습니다.
ROW() 함수. ROW() 함수는 행에 있는 모든 셀의 행 번호를 반환합니다(예: ROW(A13)=13, ROW(B13)=13).
INT() 함수. 반올림 함수(예: INT (0.1)=0, INT (2)=2, INT (3.7)=3, INT (-1.1)=-2) 즉: x ≥ 0일 때, INT(x) = x 값의 정수 부분(반올림되지 않음)
x
MOD() 함수. MOD(1,16)=1, MOD(16,16)=0과 같이 두 숫자를 나눈 후 나머지를 구합니다. MOD(x,y)=0일 때 x는 y의 정수배입니다. (참고: 첫 번째 매개변수는 피제수이고 두 번째 매개변수는 제수입니다.)
IF() 함수입니다. IF() 함수에는 IF(논리적 판단 표현, 결과 1, 결과 2)라는 세 가지 매개변수가 있습니다. 논리판단식 수식이 성립하지 않고(즉, 거짓: FALSE), IF() 함수가 결과를 반환한다. 2.
그럼 전체 공식의 의미를 알아보겠습니다.
=IF(MOD(ROW(A1),16)=0,ROW(A1)/16,INT(ROW(A1)/16)+1)
IF 첫 번째 매개변수MOD(ROW(A1),16)=0: 셀의 행 번호를 16으로 나눈 나머지가 0인지, 즉 행 번호가 16으로 나눌 수 있습니다. 분명히 16, 32 등은 16으로 나눌 수 있고 나머지는 0이며 조건은 true입니다. 15, 17 등은 16으로 나눌 수 없으며 나머지는 0이며 조건이 유지되지 않습니다.
IF 두 번째 매개변수ROW(A1)/16: 첫 번째 매개변수 조건이 true인 경우 행 번호를 16으로 나눈 몫과 같습니다. 예:
A16, 숫자 = ROW(A16)/16=16/16=1
A32, 숫자 = ROW(A32)/16=32/16=2
…
IF 세 번째 매개변수 INT (ROW(A1)/16)+1: 첫 번째 매개변수가 true가 아닌 경우 행 번호를 16으로 나눈 몫을 반올림한 후 1을 더한 값이 됩니다. 예:
A15, 숫자 = INT(ROW(A15)/16)+1= INT(15/16)+1=INT( 0.9375) +1=0+1=1
A17, 숫자 = INT( ROW (A17)/16)+1= INT (17/16) +1=INT( 1.0625) +1=1+1=2
…
방법 2: VBA 방법
1, 작업 단계
(1) VBA 편집창으로 들어갑니다. Excel에서 Visual Basic을 입력하려면 Alt+F11 키 조합을 누르거나 "개발 도구" 탭에서 "Visual Basic" 버튼을 클릭하세요.
(2) "삽입" 메뉴에서 "모듈" 명령을 선택하고 오른쪽 창에 다음 코드를 입력합니다.
Sub rep() Dim i% For i = 1 To 1000 Sheet2.Range("A" & (16 * i - 15) & ":A" & (16 * i)) = i Next i End Sub
(3) F5 키를 누르거나 퀵 툴바에서 실행 버튼을 클릭합니다. 위의 내용을 실행하려면 프로그램을 실행한 후 A1:A16000 셀에 연속적인 반복 숫자를 빠르게 생성할 수 있습니다. 연산 과정은 아래 그림과 같이 1초도 채 걸리지 않습니다.
2. 코드 설명
For i = 1 To 1000
: 숫자의 값 범위를 지정하는 데 사용됩니다. 숫자 값이 2~25인 경우 For i = 2 To 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))
: A1부터 의미하는 숫자를 지정하는 데 사용되는 셀 범위 및 규칙입니다. 셀의 시작 부분부터 A (16 * i)
셀까지 16개의 셀에 번호가 매겨져 있습니다. "A"는 생산 번호가 필요한 열 번호를 나타냅니다. B 또는 C 열에 번호를 생성해야 하는 경우 "B" 또는 "C"를 씁니다.
16 * i – 15
를 16 * i+m-16
및 16 * i
로 바꾸면 됩니다. code>와 16 * i+m-1
이면 충분합니다. Range("B" & (5 * i - 4) & ":B" & (5 * i) )
를 작성하면 됩니다. >Key Review
위 내용은 실용적인 Excel 기술 공유: 16,000행의 데이터가 자동으로 그룹화되고 번호가 매겨집니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!