함수를 사용하여 값 검색 (Microsoft Excel)
Thor는 특정 열이나 행을 지정하지 않고 결과가 값이있는 셀의 주소가되도록하지 않고도 조회를 수행 할 수있는 방법이 있는지 궁금합니다. 예를 들어, 그는 값 (예 : 345 또는 “my text”)을 조회하고 함수가 통합 문서의 모든 워크 시트에있는 모든 셀을 검색하고 값이 발견 된 셀의 전체 주소를 반환하도록하려고합니다.
사용하는 접근 방식은 검색하려는 범위에 따라 결정됩니다.
답을 표시하려는 동일한 워크 시트에서 검색하려면 다음과 같은 수식을 사용할 수 있습니다.
=ADDRESS(MAX(ROW(1:5)(A1:E5="my text")), MAX(COLUMN(A1:E1)(A1:E5="my text")),4)
이것은 배열 수식으로 입력해야하며 (Ctrl + Shift + Enter를 누름) A1 : E5 범위에서만 검색합니다. 원하는 경우 수식을 적절하게 조정하여 범위를 변경할 수 있습니다.
더 큰 검색 영역은 전체 워크 시트를 보는 것입니다. 다음과 같은 배열 수식을 사용하여이 작업을 수행 할 수 있습니다.
=ADDRESS(MAX(ROW(Sheet1!1:65000)(IF(Sheet1!1:65000=$A$1,1,0))), MAX(COLUMN(Sheet1!$1:$65000)IF(Sheet1!1:65000=$A$1,1,0)))
이 수식은 찾고있는 내용이 A1 셀에 저장되어 있다고 가정합니다.
Sheet1 지정을 검색하려는 워크 시트의 이름으로 변경해야합니다.
통합 문서의 모든 워크 시트와 같이 더 넓은 범위를 검색하려면 Excel 내에서 찾기 기능을 호출하는 매크로를 사용하는 것이 가장 좋습니다.
Function FindAddr(vValue As Variant) Dim wks As Worksheet Dim rCell As Range Dim bFound As Boolean bFound = False For Each wks In ActiveWorkbook.Worksheets With wks Set rCell = .Cells.Find _ (What:=vValue, After:=.Cells(1), _ LookIn:=xlValues, LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) If Not rCell Is Nothing Then bFound = True Exit For End If End With Next If bFound Then FindAddr = wks.Name & "!" & _ rCell.Address(False, False) Else FindAddr = "Not Found" End If Set wks = Nothing Set rCell = Nothing End Function
이 함수는 vValue 매개 변수에서 검색해야하는 모든 것을 전달하는 다른 매크로에서 호출되도록 설계되었습니다. 이 함수는 첫 번째 일치 항목의 전체 주소 (워크 시트 이름 포함)를 반환하거나 일치 항목이 없으면 “찾을 수 없음”을 반환합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (3807)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Searching_for_a_Value_Using_a_Function [함수를 사용하여 값 검색]
.