code

현재 셀에 대한 Excel 참조

starcafe 2023. 5. 8. 22:21
반응형

현재 셀에 대한 Excel 참조

현재 셀에 대한 참조를 얻으려면 어떻게 해야 합니까?

예를 들어, 열 A의 너비를 표시하려면 다음을 사용할 수 있습니다.

=CELL("width", A2)

그러나 공식은 다음과 같습니다.

=CELL("width", THIS_CELL)

몇 년이 너무 늦었습니다.

완전성을 위해 또 다른 대답을 하고 싶습니다.

먼저 [Excel] - [선택사항] - [공식]으로 이동한 후 R1C1 참조를 사용 가능으로 설정합니다.사용할 경우

  =CELL("width", RC)

RC항상 현재 행, 현재 열, 즉 "이 셀"을 참조합니다.

Rick Teachhey의 솔루션은 기본적으로 A1 참조 스타일로 동일한 것을 가능하게 하기 위한 수정입니다(Joey의 답변에 대한 GSerg의 의견 참조 및 Patrick McDonald의 답변에 대한 의 의견 메모).

건배.
:-)

THIS_CELL이라는 이름의 수식을 만듭니다.

  1. 현재 워크시트에서 셀 A1을 선택합니다(이는 중요합니다.

  2. 열다.Name Manager(Ctl+F3)

  3. 클릭New...

  4. 다음에 "THIS_CELL"(또는 "THIS"만 입력합니다. 이것은 제가 선호하는 것입니다.)Name:

  5. 다음 공식을 입력합니다.Refers to:

    =!A1

    참고: 셀 A1이 선택되었는지 확인합니다.이 공식은 액티브 셀에 상대적입니다.

  6. 아래Scope:선택한다.Workbook.

  7. 클릭OK종료합니다.Name Manager

워크시트의 공식을 원하는 대로 정확하게 사용

=CELL("width",THIS_CELL)

편집: 사용하는 것보다 더 나은 솔루션INDIRECT()

제가 제시한 솔루션은 다음을 사용하는 솔루션보다 더 선호되어야 한다는 점에 주목할 필요가 있습니다.INDIRECT()두 가지 이유로 기능:

  1. 비휘발성이지만,INDIRECT()휘발성 Excel 함수이므로 많이 사용하면 워크북 계산 속도가 크게 느려집니다.
  2. 이것은 훨씬 간단하고, 주소를 변환할 필요가 없습니다.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의 답변을 요약 형식으로 복사한 후 다음과 같이 확장합니다.

  1. 선택 셀 택A1모든 워크시트에서.
  2. 는 이름의 .THIS 설합니다를 합니다.Refers to:=!A1.

사시도중을 사용하려고 .THIS조건부 형식 지정 공식에서 다음 오류가 발생합니다.

You may not use references to other workbooks for Conditional Formatting criteria

네가 원한다면THIS조건부 형식 지정 공식에서 작업하려면 다음과 같이 하십시오.

  1. 이이지다른범만라는 다른 .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

반응형