고정 셀에 최대 데이터 값을 포함하는 셀에 시트 이름을 자동으로 입력하는 방법은 무엇입니까? 중에서 C5가 가장

셀 C5가 있고 첫 번째 시트의 셀에 시트 이름을 표시하려고합니다.이 시트는 해당 통합 문서의 모든 시트 중에서 C5가 가장 높습니다.

C5의 최대 값이 아니라 시트 이름입니다.

나는 이것을 원하지 않습니다 :

= MAX ( ‘first_sheet_name : last_sheet_name’! B1)

나는 이미 이것을 알고 있고 다른 것을 요구하고있다



답변

VLOOKUP ()을 사용할 수 있습니다

먼저 사용할 VLOOKUP () 테이블을 만듭니다 . 은 Using 이름 관리자를 에서 데이터 탭 , 우리는 만들 Name라고 시트를 하고 여기에이 공식을 할당 :

=SUBSTITUTE(GET.WORKBOOK(1),"["&GET.WORKBOOK(16)&"]","")

여기에 이미지 설명을 입력하십시오

그런 다음 시트에서 셀을 골라 I2 라고 말하고 다음 을 입력하십시오.

=IF(COUNTA(Sheets)>=ROW($A1),INDEX(Sheets, ROW($A1)), "")

그리고 아래로 복사하십시오. (이것은 시트 이름 목록을 만듭니다)

에서 H2 입력 :

= IF (I2 = “”, “”, INDIRECT (I2 & “! C5”))

그리고 아래로 복사하십시오. 열 H나는 조회 테이블입니다.

여기에 이미지 설명을 입력하십시오

마지막 으로이 조회 :

=VLOOKUP(MAX(H:H),H:I,2,FALSE)

시트 이름을 검색합니다


답변

VBA를 사용하지 않고 시트 이름을 반환하는 것은 약간 까다 롭습니다.
셀과 시트를 수동으로 비교하는 것이지만 시트와 셀이 적은 경우에만 가능합니다.

=IF(Sheet1!C5>Sheet2!C5;IF(Sheet1!C5>Sheet3!C5;"Sheet1";"Sheet3");IF(Sheet2!C5>Sheet3!C5;"Sheet2";"Sheet3"))

“Sheet1”, “Sheet2″및 “Sheet3″의 C5 값을 간단히 비교합니다.

시트 이름을 표시하는 유일한 방법은 다음과 유사한 것을 사용하는 것입니다.

=MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;255)

지정된 셀의 시트,이 경우 코드가있는 시트 만 반환합니다.

또는 VBA에서 다음과 비슷한 내용이 있습니다.

Dim cell As Range
Dim cellAddress As String
Set cell = ThisWorkbook.Worksheets(1).Cells(1, 1)
cellAddress = cell.Parent.Name

이제 우리는 그것을 올바른 세포와 결합해야합니다. 아직 그 부분을 알아 내지 못했습니다.


답변