[excel] 행 및 열 번호가 주어지면 셀의 내용을 가져옵니다.

행과 열 번호가 주어지면 셀의 내용을 얻고 싶습니다. 행 및 열 번호는 셀 (여기서는 B1, B2)에 저장됩니다. 다음 솔루션이 작동한다는 것을 알고 있지만 약간 엉뚱한 느낌이 듭니다.

솔 1

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

솔 2

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

덜 장황한 방법이 없습니까? (= CellValue (row, col) 등)?

편집 / 설명 : Excel 워크 시트 수식을 사용하고 싶습니다. VBA가 없습니다. 요컨대, Excel Formula로 VBA Cells () 메서드에 해당하는 것을 거의 찾습니다.



답변

수식의 CELL () 부분은 필요하지 않습니다.

=INDIRECT(ADDRESS(B1,B2))

또는

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

둘 다 작동합니다. INDIRECT및 둘 다 OFFSET휘발성 함수입니다. 휘발성 함수는 매번 재 계산할 때마다 계산되기 때문에 계산 속도가 느려질 수 있습니다.


답변

= index (ARRAY, ROW, COLUMN) 시도

여기서 : 배열 : 전체 시트 선택 행, 열 : 행 및 열 참조

공식을 보는 사람들에게는 이해하기 더 쉬울 것입니다.


답변

시간이 좀 걸렸지 만 여기에 동적으로 만든 방법이 있습니다. 정렬 된 테이블에 의존하지 않습니다.

먼저 주 이름 열 (A 열)과 각 주 (열 B)의 항공기 열로 시작했습니다. (1 행은 머리글 행입니다).

항공기 수를 포함하는 셀을 찾는 것은 다음과 같습니다.

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

저는 그것을 셀에 넣은 다음 그 셀에 “StateRow”라는 이름을 부여했습니다. 그런 다음 위의 팁을 사용하여 다음과 같이 마무리했습니다.

=INDIRECT(ADDRESS(StateRow,1))

“StateRow”행, 1 열의 동적 값에서 상태 이름을 반환합니다.

이제 더 많은 데이터가 입력됨에 따라 카운트 열의 값이 시간이 지남에 따라 변경됨에 따라 어떤 주에 항공기가 가장 많은지 항상 알고 있습니다.


답변