수식 반환 셀 정의 이름

수식 반환 셀 정의 이름

셀 주소를 사용하고 셀 정의 이름을 반환하려면 수식이 필요합니다. 즉,

=INDIRECT(ADDRESS(ROW(),COLUMN(),1,,"SHEET 001"))

현재 셀 정의 이름 , 즉 "판매" ADDRESS(ROW(),COLUMN()를 참조하려면 이것이 필요합니다 .
$A$1

답변1

나는 빠른 해결 방법을 생각해 냈지만 약간 제한적이었습니다.

  1. 시트의 명확한 영역에 정의된 모든 이름의 목록 붙여넣기를 수행합니다.
  2. 다음 수식은 찾고 있는 정규화된 셀 주소와 유사한 문자열을 생성하여 목록에서 일치시키고 인접한 열에서 셀 이름을 반환합니다. =INDEX(NameList,MATCH("='"&SUBSTITUTE(CELL(") 파일 이름"),"완전히_자격_파일 이름","")&"'!"&CELL("address"),NameReferences,0))

분명히 단일 셀을 가리키는 이름으로 제한되지만 셀 범위를 검색하도록 확장될 수도 있습니다.

데이터를 표시하는 셀의 이름이 데이터 필드의 이름이기 때문에 저에게는 효과적입니다. 따라서 어디에 입력하든 참조는 항상 정확합니다.

프로젝트를 진행하는 동안 이름 목록을 새로 고쳐 최신 상태로 유지하는 자주 실행되는 매크로에 명령문을 포함시켰습니다.

답변2

이 코드를 작성한 것에 대한 공로를 인정할 수는 없지만 정확히 필요한 작업을 수행합니다. 몇 년 전에 동일한 기능이 필요했고 사이버 공간 어딘가에서 이 코드를 우연히 발견하고 약간 수정했을 수도 있지만 어느 쪽이든 기억이 나지 않습니다. 그것은 나에게 큰 도움이 되었습니다.

다음과 같이 작동합니다:

  1. 아래 코드를 Excel 매크로 사용 통합 문서(*.xlsm)의 VBA 모듈에 붙여넣습니다.
  2. 그런 다음 "=CellName(F19)"과 같은 Excel 워크시트 셀에 입력하면 "rngSomeNamedCell"과 같은 결과가 반환됩니다.

코드는 다음과 같습니다.

Public Function CellName(cel As Range) As Variant
Dim nm As Name
    For Each nm In Names
        If nm.RefersTo = "=" & cel.Parent.Name & "!" & cel.Address Then
            CellName = nm.Name
            Exit Function
        End If
    Next
CellName = CVErr(xlErrNA)
End Function

답변3

나는 이 작업을 수행할 내장된 Excel 기능이 있다고 믿지 않습니다. 사용자 정의 함수를 사용하여 셀 이름을 반환할 수 있습니다.

아래 두 함수는 셀 이름을 반환합니다. 하나는 셀 참조를 사용하고 다른 하나는 행과 열을 사용합니다. 둘 다 현재 로컬 시트에서만 작동하도록 설정되어 있지만 필요한 경우 워크시트 이름을 사용하도록 선택적 변수를 추가할 수 있습니다.

첫 번째 함수는 다음과 같이 호출됩니다.=cell_name()

고든

Function cell_name() As String
dim rng as Range
On Error Resume Next

set rng = activeCell

If Len(rng.Name.Name) < 0 Then
    cell_name = "No named Range"
    Exit Function
End If

cell_name = rng.Name.Name

if instr("cell_name","!")>0 then
    cell_name = Right(cell_name, Len(cell_name) - InStr(cell_name, "!"))
end if

End Function

두 번째 함수는 주어진 행과 열에서 셀 이름을 반환합니다.

Function cell_name2(r As Long, c As Long) As String
Dim rng As Range

Set rng = Cells(r, c)
On Error Resume Next

If Len(rng.Name.Name) < 0 Then
    cell_name = "No named Range"
    Exit Function
End If

cell_name2 = rng.Name.Name

End Function

활성 셀에서 작동하도록 첫 번째 기능을 편집했습니다.

관련 정보