2011-01-27 4 views
76

주어진 행과 열 번호의 셀 내용을 가져오고 싶습니다. 행과 열 번호는 셀 (여기 B1, B2)에 저장됩니다. 나는 다음과 같은 해결책이 효과가 있다는 것을 알고 있지만, 그들은 약간 해킹을 느낀다.행과 열 번호가 주어진 셀의 내용 가져 오기

솔 1

=CELL("contents",INDIRECT(ADDRESS(B1,B2))) 

솔 2

=CELL("contents",OFFSET($A$1, B1-1,B2-1)) 

덜 자세한 방법은 전혀 없습니까? (= CellValue (행, 열) 또는 뭐든간에)?

편집/설명 : 난 그냥 엑셀 워크 시트 수식을 사용하고 싶습니다. VBA 없음. 간단히 말해 VBA Cells() 메서드를 Excel 수식으로 사용하는 것과 거의 같습니다.

+0

더 많은 컨텍스트를 얻을 수 있습니까? Excel 수식 만 사용하고 있습니까? VBA? 다른 방법? –

답변

118

당신은 수식의 CELL() 부분을 필요가 없습니다

=INDIRECT(ADDRESS(B1,B2)) 

또는

=OFFSET($A$1, B1-1,B2-1) 

모두 일 것. INDIRECTOFFSET은 모두 휘발성 함수입니다. 휘발성 함수는 매번 다시 계산할 때마다 계산되므로 계산 속도가 느려질 수 있습니다. 배열이 : 전체 시트 행, 열을 선택합니다

+0

이것은 적절한 닫는 괄호 수를 편집하는 데 유용 할만큼 유용합니다. – Wyck

+6

이 질문/답변의 인기를 감안할 때 [휘발성 함수]에 대해 약간의 문장을 작성하는 것이 좋습니다 (https://msdn.microsoft.com/en-us/library/office/bb687891.aspx # sectionSection2)가 있습니다. – LondonRob

+0

두 번째 양식의 경우 $ a $ 1에 따라 나중에 시트를 편집 할 때 $ a $ 1을 이동하지 않아야합니다. – Erk

20

시도 = 지수 (ARRAY, ROW, COLUMN)

당신의 행과 열이 찾고있는 사람들에게 이해하기 쉽게해야

를 참조 수식에.

1

시간이 좀 걸렸지 만, 어떻게 동적으로 만들었습니까? 그것은 정렬 된 테이블에 의존하지 않습니다.

먼저 상태 이름 열 (열 A)과 각 상태의 항공기 열 (열 B)부터 시작했습니다. (행 1은 헤더 행입니다). 항공기의 수를 포함하는 셀을 찾기

이었다

=MATCH(MAX($B$2:$B$54),$B$2:$B$54,0)+MIN(ROW($B$2:$B$54))-1 

내가 셀에 다음이 해당 셀의 이름을 준 넣어, 그리고 위의 팁을 사용하여 "StateRow" , 나는 감아 이것은 "StateRow '행 동적 상태 값에서의 이름을 반환

=INDIRECT(ADDRESS(StateRow,1)) 

, 카운트의 값과 지금 1 열의

: 이와 더 많은 데이터가 입력 될 때마다 시간이 지남에 따라 기둥이 바뀌고, 나는 항상 어떤 주가 가장 많은 항공기를 가지고 있는지 알고 있습니다.

관련 문제