신뢰할 수 있는 Excel 범위 구문 참조
이전에 문의한 적이 있다면 죄송합니다만 찾을 수 없습니다."A1:C5", "$A:$A", "$A2" 등과 같이 참조로 사용할 수 있는 모든 유효한 문자열에 대한 권위 있는 설명을 찾고 있습니다.그것은 꽤 기본적인 것처럼 보이지만, 저는 그것을 찾기 위해 몇 시간을 허비했습니다.제가 찾을 수 있는 것은 "도움이 되는" 예들의 늪뿐이지만 참조는 없습니다.
이것은 재미있는 운동인 것 같습니다.제가 할 수 있는 한 많이 나열할 것이고, 다른 사람들이 제가 잊어버린/그리운/몰랐던 것들을 지적할 수 있기를 바랍니다.
요청하는 내용에 대한 일종의 가이드 및 추가 설명서를 찾는 모든 사용자를 위한 소스: http://www.excelfunctions.net/Excel-Reference-Styles.html
저는 A1, R1C1, 표, 공식 및 VBA 참조의 5가지 광범위한 범주로 시작할 것입니다.나는 당분간 엑셀과 상호 작용할 수 있는 다른 프로그램들을 무시할 것입니다(공식적으로 추가된다면 파이썬에 추가할 수도 있지만).
경험이 없는 사용자에게 더 직관적이기 때문에 모든 예는 A1 참조 스타일을 사용할 것입니다.
A1 기준 유형:
A1 스타일은 주어진 셀의 좌표를 알려줍니다.영숫자 부분은 우리가 어떤 열에 있는지 알려주고 숫자 부분은 우리가 어떤 행에 있는지 알려줍니다.
셀 참조:
A1
기본 셀 참조입니다.셀 A1을 참조하고 열과 행을 통해 수식을 끌면 변경됩니다.예를 들어 공식이 C1에 있고 D2로 이동하면 B2가 참조됩니다.좋은 사용법: 두 장을 서로 비교하는 것.
='Sheet1'!A1='Sheet2'!A1
에서는 시트 1의 데이터를 시트 2와 비교하고 일치하는지 여부에 따라 참/거짓을 제공합니다.공식은 추가 비교를 위해 쉽게 옆으로 또는 위/아래로 슬라이드할 수 있습니다.$A1
그러면 열이 잠깁니다.공식을 끌면 행은 변경되지만 열은 변경되지 않습니다.공식에서 항상 동일한 열을 참조하려는 경우에 유용합니다.예를 들어 공식이 C1에 있는 경우 D2로 이동하면 $A2가 참조됩니다.파일 형식: 열에 수식입니다.도우미 열에 수식이 있습니다.
A1 = $C1*2
문제없이 깔끔하게 슬라이드되며, B열로 이동하면 C를 계속 참조합니다.A$1
그러면 행이 잠깁니다.공식을 끌면 열은 변경되지만 행은 변경되지 않습니다.공식에서 항상 같은 행을 참조하려는 경우 유용합니다.예를 들어 공식이 C1에 있을 때 D2로 이동하면 B$1이 참조됩니다.$A$1
그러면 셀 참조가 잠깁니다.공식을 끌어다 놓으면 셀 A1이 계속 참조됩니다.예를 들어 공식이 C1에 있을 때 D2로 이동하면 $A$1이 참조됩니다.유용한 예:모든 숫자에 대한 상수 승수입니다.
요약하자면, A1 참조는 다음과 같이 분류됩니다.
- 영숫자 부분 - 현재 어떤 열에 있는지
- 숫자 부분 - 어떤 행에 있는지
- - 부품이 바로 다음에 잠급
범위 참조:
범위 참조의 단순한 조합으로 인해, 저는 가장 일반적인 것들에 구역질이 납니다.셀 참조 유형을 범위 참조 유형과 혼합하고 일치시키면 모든 조합을 얻을 수 있습니다.
A1:B2
왼쪽 상단에 A1이 있고 오른쪽 하단에 B2가 있는 셀 그리드를 참조합니다.수식의 두 부분을 이동하면 모두 미끄러집니다.참조 범위도 이동하므로 일반적으로 여러 셀에 적용되는 수식에서 참조 잠금을 해제하지 않는 것이 좋습니다.를 들어, 를예들어들,)이 있으면 =Sum(A1:C1에서 B2)를 D2로 이동하면 =Sum(B2:C3).잠금 해제된 범위 참조는 vlookup 수식에서 문제를 일으키는 경우가 가장 많으며, 여기서 사람들이 수식을 아래로 밀면 참조 범위가 변경됩니다.
$A$1:$B$2
왼쪽 상단에 A1이 있고 오른쪽 하단에 B2가 있는 셀 그리드를 참조합니다.이 범위 참조는 이동하더라도 변경되지 않습니다.들어 이 있는 이를2)으로 됩니다. C1 =Sum($A$1:$B$2)은 D2 =(A$1:$B$2)입니다.$A$1:A2
이렇게 하면 첫 번째 셀이 잠기지만 기준의 두 번째 부분은 유연하게 유지됩니다.이 " 모든 때 에 번호를 매길 때, " 금은지지을발모것든생한"와 결합할 입니다. 예를 들어, 목록에 번호를 매기는 경우, 다음 항목과 결합된 경우=countifs
("은 어떤 사례입니까Sum이 있고:B3)("$A$1:B3?")으로 , =($A$1:A$1:A2)이 있고 이를 D2로 이동하면 =Sum($A$1:B3)으로 변환됩니다.유사한 효과를 사용할 수 있습니다.
$A$1:B1
수평으로 가는A:A
그러면 전체 열이 A로 표시됩니다.잠금이 해제되어 있기 때문에 미끄러질 것입니다.주어진 열의 모든 항목을 파악하는 데 유용합니다.를 들어,이 있는 B) , C1에 =Sum(A:A)이 있는 경우 D2로 이동하면 =Sum(B:B)으로 변환됩니다.$A:A
그러면 전체 열이 A로 표시됩니다.더 많은 열을 가져오기 위해 건너면 확장됩니다.당장 실용적으로 쓸 생각이 안 나요.를 들어SumA:$A:$A:$A:) =Sum($A:하면 =C1"D2") =Sum($B)으로 됩니다.B)$A:$A
그러면 전체 열이 A로 표시됩니다.수식을 이동하더라도 열 A에 잠깁니다.를 들어SumA:$A:$A:$A:) =Sum($A:C1에서 $A), D2에서 =Sum($A:$A)
약간 덜 알려진 행은 다음과 같습니다.
1:1
첫 번째 행 전체.를 들어1:)이 하면 =2)으로 됩니다. C2는 =Sum(1:1)으로 변환됩니다.$1:1
첫 번째 행 전체.부분적으로 잠겼습니다.를 들어,하면 = =Sum($1:1) =Sum($3:1)으로 됩니다.$1:$1
첫 번째 행 전체.완전히 잠겼습니다.를 들어=Sum)이 있고 =Sum1)으로 됩니다. C2는 =($1:$1)으로 유지됩니다.
R1C1 참조
R1C1은 좌표 스타일이 아닌 참조 스타일에 더 가깝습니다.이것은 모든 셀의 공식이 완전히 동일하게 보이고 VBA에 슬라이딩 공식을 훨씬 쉽게 입력할 수 있기 때문에 매우 유용할 수 있습니다.
R1C2는 다음과 같이 분류됩니다.
- R - 행
- - - 1º OR
한줄. - 현의감한줄아있에습다니래다방보재▁-다있습니-▁we아에. - C - 열
- - - 1º OR
의 셀에서 한 칸 - 현재감한칸있위습다니에서방에▁-다있▁over니습-▁column▁we위.
즉, 괄호가 없으면 해당 셀 또는 열을 참조하는 것입니다.괄호가 있으면 상대 참조가 있습니다.
셀 참조:
R3C7
세 번째 행, 일곱 번째 열은 절대 기준입니다.이것은 말하는 것과 같습니다.$G$3
위에서 자세히 설명한 바와 같이 A1 스타일로.R[3]C7
부분적으로 절대적이고 부분적으로 상대적인 참조입니다.이것은 "현재 셀에서 아래쪽으로 3줄 떨어진 셀 7열"(이것은 G열)을 요청하는 것입니다. 만약 제가 이것을 A1 셀에 가지고 있다면, 저는 G4 셀을 참조할 것입니다.만약 제가 그것을 B2 세포로 옮기면, 저는 G5 세포를 참조하게 될 것입니다.R[2]C[-2]
는 완전한 상대 참조입니다. 전열 또행참 수있도다습니조할로 행을 할 수도 있습니다.-
부호. 만약 제가 C1 세포에 이 공식을 가지고 있다면, 그것은 A3 세포를 참조하는 것일 것입니다.공식을 D2로 옮기면 이제 셀 B4를 참조하게 됩니다.
범위 참조:
테이블 참조
표를 사용하면 다른 셀과 범위를 쉽고 직관적으로 참조할 수 있습니다.다음과 같이 분류됩니다.
- 테이블 이름[열 이름]
수식 참조
VBA 참조
문자에서 열로 VBA 변환
몇 번씩 등장하는 것은 열 번호를 열 문자로 바꾸는 것입니다.저는 VBA에서 쉽게 사용할 수 있도록 열 번호를 열 문자로 변환하는 데 매우 유용한 코드 조각을 발견했습니다(스택 오버플로의 어딘가, 현재 사용할 수 있는 링크가 없습니다).
Function Col_Letter(lngCol As Long) As String
'Converts a number (usually generated from an application.match function) to a letter. For example 1 turns into A, 5 turns into E, etc.
Dim vArr
vArr = Split(Cells(1, lngCol).Address(True, False), "$")
Col_Letter = vArr(0)
End Function
건설 중*
A1 형식과 R1C1 형식의 두 가지 형식만 있기 때문에 형식 목록이 있는지 모르겠습니다.:가 실제로 범위 연산자이기 때문에 A1:C3를 사용할 때 실제로 범위 형식을 지정하지는 않습니다.
$A$1, $A1, A$1의 변형은 참조를 복사할 때 $ 앞의 좌표가 변경되지 않아야 하지만 그렇지 않으면 복사에 상대적으로 좌표가 변경될 수 있음을 식별하는 변형입니다.
R1C1은 상대성 이론을 허용하기 때문에 더 복잡합니다.R3C2는 3열, 2열(A1 표기법에서는 B3)에 대한 절대적인 참조이며, R1C1 참조에서 브레이스 []를 사용하면 셀 R3C2의 현재 셀 R[-2]C[1]에 상대적이라는 것을 나타냅니다.
잊을 뻔 했어요.다른 워크시트의 셀에 대한 참조가 있을 수도 있습니다.'시트 2'!IV256
사용합니다
(((\w*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d+)
A1 형식에서 셀 참조를 식별하기 위한 정규식으로
문제는 유효한 범위 참조를 제공하기 위해 모두 참조를 해제할 수 있는 다양한 연산자(범위, 교차, 암시적 교차 등), 함수(INDEX, OFFSET, Choose, INDirect + 사용자 정의 함수), 정의된 이름 및 구조화된 테이블 참조 등이 있다는 것입니다.따라서 작업을 완료한다는 것은 임의의 Excel 공식을 구문 분석하는 것을 의미합니다.그리고 엑셀 버전에 따라서도 다릅니다.
표준 명시적 범위 참조로 작업하기만 하면 되는 경우 일반적인 방법은 문자열을 R1C1 표기법으로 변환하여 작업하는 것입니다.R1C1 참조에 대한 구문은 Excel 설명서에 상당히 잘 설명되어 있습니다.
Excel 공식에 대한 BNF 설명도 어딘가에 있지만 제가 참조를 잘못 기재했습니다.
"워크시트에 새 행이나 열을 삽입할 때 수정이 필요할 수 있는 셀 참조를 식별하는 데 사용됩니다."
다른 응용 프로그램을 사용하여 워크북을 해킹하는 것이 아니라 Excel Live로 행/열을 삽입하면 모든 참조가 새 주소로 자동 업데이트됩니다.
언급URL : https://stackoverflow.com/questions/2977919/authoritative-excel-range-syntax-reference
'programing' 카테고리의 다른 글
여기서 count(col) > (0) | 2023.07.05 |
---|---|
Docker를 사용하는 MongoDB "첫 번째 연결 시 서버 [localhost:27017]에 연결하지 못했습니다." (0) | 2023.07.05 |
Python에서 문자열 형식 지정에 여러 인수 사용(예: '%s... %s') (0) | 2023.07.05 |
파이썬의 "내부 예외"(트레이스백 포함)? (0) | 2023.07.05 |
Spring Boot 로깅에 사용되는 기본 CONSOLE_LOG_PATTERN은 무엇이며 어디에서 찾을 수 있습니까? (0) | 2023.07.05 |