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


96

행과 열 번호가 주어지면 셀의 내용을 얻고 싶습니다. 행 및 열 번호는 셀 (여기서는 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 () 메서드에 해당하는 것을 거의 찾습니다.


좀 더 컨텍스트를 얻을 수 있습니까? Excel 수식 만 사용하고 있습니까? VBA? 다른 방법?
Saladin Akara 2011 년

답변:


141

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

=INDIRECT(ADDRESS(B1,B2))

또는

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

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


이것은 닫는 괄호의 수가 적절하도록 편집 된 것을보고 싶을만큼 유용합니다.
Wyck 2014 년

6
이 질문 / 답변의 인기를 감안할 때 휘발성 함수 가 무엇인지에 대해 여기에 약간의 문장이 있으면 좋을 것 입니다.
LondonRob

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

INDIRECT+ ADDRESS는 갈 길입니다. 내 언어의 Excel은 OFFSET마침표로 구분 된 두 단어 로 번역 됩니다. (함수 이름의 움라우트와 함께) 최악입니다!
Bitterblue

29

= index (ARRAY, ROW, COLUMN) 시도

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

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


2

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

먼저 주 이름 열 (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 열의 동적 값에서 상태 이름을 반환합니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.