현재 셀에 대한 Excel 참조
현재 셀에 대한 참조를 얻으려면 어떻게 해야 합니까?
예를 들어, 열 A의 너비를 표시하려면 다음을 사용할 수 있습니다.
=CELL("width", A2)
그러나 공식은 다음과 같습니다.
=CELL("width", THIS_CELL)
몇 년이 너무 늦었습니다.
완전성을 위해 또 다른 대답을 하고 싶습니다.
먼저 [Excel] - [선택사항] - [공식]으로 이동한 후 R1C1 참조를 사용 가능으로 설정합니다.사용할 경우
=CELL("width", RC)
RC항상 현재 행, 현재 열, 즉 "이 셀"을 참조합니다.
Rick Teachhey의 솔루션은 기본적으로 A1 참조 스타일로 동일한 것을 가능하게 하기 위한 수정입니다(Joey의 답변에 대한 GSerg의 의견 참조 및 Patrick McDonald의 답변에 대한 그의 의견 메모).
건배.
:-)
THIS_CELL이라는 이름의 수식을 만듭니다.
현재 워크시트에서 셀 A1을 선택합니다(이는 중요합니다.
열다.
Name Manager(Ctl+F3)클릭
New...다음에 "THIS_CELL"(또는 "THIS"만 입력합니다. 이것은 제가 선호하는 것입니다.)
Name:다음 공식을 입력합니다.
Refers to:=!A1참고: 셀 A1이 선택되었는지 확인합니다.이 공식은 액티브 셀에 상대적입니다.
아래
Scope:선택한다.Workbook.클릭
OK종료합니다.Name Manager
워크시트의 공식을 원하는 대로 정확하게 사용
=CELL("width",THIS_CELL)
편집: 사용하는 것보다 더 나은 솔루션INDIRECT()
제가 제시한 솔루션은 다음을 사용하는 솔루션보다 더 선호되어야 한다는 점에 주목할 필요가 있습니다.INDIRECT()두 가지 이유로 기능:
- 비휘발성이지만,
INDIRECT()휘발성 Excel 함수이므로 많이 사용하면 워크북 계산 속도가 크게 느려집니다. - 이것은 훨씬 간단하고, 주소를 변환할 필요가 없습니다.
ROW()COLUMN()) 주소에 대한 범위 참조 및 다시 범위 참조로 돌아갑니다.
편집: 워크북 범위의 시트 종속 명명 범위에 대한 자세한 내용은 이 질문을 참조하십시오.
편집: 이 아이디어에 대한 변형은 아래의 @imix의 답변을 참조하십시오(RC 스타일 참조 사용).그런 경우, 당신은 다음을 사용할 수 있습니다.=!RC를 위해THIS_CELL명명된 범위 공식 또는 그냥 사용RC직접적으로.
사용할 수 있습니다.
=CELL("width", INDIRECT(ADDRESS(ROW(), COLUMN())))
=ADDRESS(ROW(),COLUMN(),4)현재 셀의 상대 주소를 알려줄 것입니다. =INDIRECT(ADDRESS(ROW(),COLUMN()-1,4))현재 셀의 왼쪽 셀 내용을 우리에게 줄 것입니다.=INDIRECT(ADDRESS(ROW()-1,COLUMN(),4))현재 셀 위의 셀 내용을 제공합니다(실행 총계 계산에 적합).
CELL() 함수를 사용하면 마지막으로 변경된 셀에 대한 정보가 반환됩니다.따라서 새 행 또는 열을 입력하면 CELL() 참조가 영향을 받아 현재 셀의 참조가 더 이상 되지 않습니다.
A2는 이미 상대 참조이며 셀을 이동하거나 수식을 복사할 때 변경됩니다.
=ADDRESS(ROW(),COLUMN())
=ADDRESS(ROW(),COLUMN(),1)
=ADDRESS(ROW(),COLUMN(),2)
=ADDRESS(ROW(),COLUMN(),3)
=ADDRESS(ROW(),COLUMN(),4)
INDRECT() 사용 안 함:=CELL("width", OFFSET($A$1,ROW()-1,COLUMN()-1) )
이 문제를 해결하는 가장 좋은 방법은 다음을 사용하는 것입니다.
Dim MyString as String
MyString = Application.ThisCell.Address
Range(MyString).Select
이게 도움이 되길 바랍니다.
에서는 사할수있테내부블이를 사용할 수 .[@] Excel은 으로 Excel로 됩니다.Table1[@] (2010을 하고 있습니다 (Excel 2010을 사용합니다.)
를 들어 두 의 열이 때[Change]그리고.[Balance]을 것을안넣 는것에에 넣는 것.[Balance]열:
=OFFSET([@], -1, 0) + [Change]
물론 이는 행 순서에 따라 달라지기 때문에(다른 대부분의 솔루션과 마찬가지로) 다소 취약합니다.
더 안전하고 응용 프로그램 속도를 늦추지 않는 더 좋은 방법이 있습니다.Excel을 설정하는 방법은 셀에 값이나 수식이 있을 수 있습니다. 공식은 자신의 셀을 참조할 수 없습니다.새 값을 사용하면 다른 계산이 발생하므로 무한 루프가 발생합니다. 다른 셀에 넣은 값을 기준으로 값을 계산하려면 도우미 열을 사용합니다.예:
열 A는 참 또는 거짓이고, 열 B는 통화 값을 포함하며, 열 C는 다음 공식을 포함합니다. = B1
이제 열 A가 참이고 열 B가 0보다 큰 경우에만 열 B가 조건부 형식으로 노란색으로 강조 표시됩니다.
= AND(A1=참, C1>0)
그런 다음 C 열을 숨기도록 선택할 수 있습니다.
@rick-teachhey의 최고 답변에 전적으로 공을 들이지만, 조건부 서식으로 작업하도록 해당 접근 방식을 확장할 수 있습니다.이 답변이 완료되도록 Rick의 답변을 요약 형식으로 복사한 후 다음과 같이 확장합니다.
- 선택 셀 택
A1모든 워크시트에서. - 는 이름의 .
THIS설합니다를 합니다.Refers to:=!A1.
사시도중을 사용하려고 .THIS조건부 형식 지정 공식에서 다음 오류가 발생합니다.
You may not use references to other workbooks for Conditional Formatting criteria
네가 원한다면THIS조건부 형식 지정 공식에서 작업하려면 다음과 같이 하십시오.
- 이이지다른범만라는 다른 .
THIS_CF설합니다를 합니다.Refers to:=THIS.
이제 사용할 수 있습니다.THIS_CF조건부 서식 공식에서 현재 셀을 참조합니다.
또한 이 접근 방식을 사용하여 다음과 같은 다른 상대 명명된 범위를 만들 수 있습니다.THIS_COLUMN,THIS_ROW,ROW_ABOVE,COLUMN_LEFT 타기.
편집: 셀("width")이 마지막으로 수정된 셀의 너비를 반환하므로 다음은 잘못되었습니다.
Cell("width")현재 셀의 너비를 반환하므로 현재 셀에 대한 참조가 필요하지 않습니다.그래도 필요하다면,cell("address")셀의 셀에 에는 현재셀주소반환로현므재셀경대참필우한조요한가에하를을 합니다.indirect(cell("address"))설명서를 참조하십시오. http://www.techonthenet.com/excel/formulas/cell.php
이 공식을 포함하는 셀에 대한 참조(자체 참조): 주소(행(); 열())
예: 위의 셀 값 가져오기: 간접(주소(행()-1; 열())
또는 OP가 질문한 내용: =Cell(폭; 주소(행()); column())
언급URL : https://stackoverflow.com/questions/757413/excel-reference-to-current-cell
'code' 카테고리의 다른 글
| git: 'incential-cache'는 git 명령이 아닙니다. (0) | 2023.05.08 |
|---|---|
| npm 설치와 업데이트 - 차이점은 무엇입니까? (0) | 2023.05.08 |
| URL 라우팅, 이미지 처리기 및 "잠재적으로 위험한 요청"입니다.경로 값" (0) | 2023.05.08 |
| 0부터 N까지의 목록 만들기 (0) | 2023.05.08 |
| Git Stash를 원격 저장소에 푸시할 수 있습니까? (0) | 2023.05.08 |