2014-01-28 3 views
4

활성 셀을 사용할 수 있는지 궁금합니다. 주어진 시간에 사각형 테두리가있는 "강조 표시된"셀을 의미합니다. 거기에 마우스를 클릭 한 후 인수로 사용했습니다. 함수에서.액티브 셀을 수식 입력으로 사용

예를 들어, w1은 열 머리글에, w2는 행 머리글에, w3은 w1과 w2를 1에 보완하여 3 개의 가중치가있는 테이블을 만들었습니다.

테이블 외부의 셀에 테이블의 셀을 선택할 때 평균이 얻는 가중치를 표시하고 싶습니다. 예를 들어

: 스크린은 : W2 여기서 https://drive.google.com/file/d/0B_7-00fdslR7Tm11ODRVS296ckk/

우리가 셀 K12은 활성 및 K12의 W1 = 0.2 참조 = 0.15, 등 : http://imgur.com/emmBH5S/

파일은 여기를 위의 가중 테이블 (3-4 행)의 셀은 활성 셀의 가중치에 따라 적절한 값을 얻습니다. (물론 삽화로 이것을 수동으로 만들었습니다)

할 방법이 있습니까? 가능하면 VBA없이 가능하면 아무 것도 찾을 수 없습니다 ...

미리 감사드립니다!

답변

6

VBA는 필요하지 않지만 (사용자가 선호 할 수도 있음).

W1: =INDEX($F$8:$AA$29,1,MAX(COLUMN(INDIRECT(CELL("address")))-(COLUMN(F8)-1),1)) 
W2: =INDEX($F$8:$AA$29,MAX(ROW(INDIRECT(CELL("address")))-(ROW(F8)-1),1),1) 
W3: =J4-(G4+H4) 

address 인수를 CELL 함수는 셀이 활성 중의 주소를 반환한다. 나는 INDIRECT을 사용하여 해당 주소 (그냥 문자열)를 셀 참조로 변환합니다. 그 다음에 나는 첫 번째 행의 값과 활성 셀과 같은 열의 값을 얻기 위해

을 사용합니다. 수식은 어떤 셀을 활성 상태로 만들지는 신경 쓰지 않으므로 MAX을 거기에 붙이면 범위를 벗어나면 0이 반환됩니다.

셀을 선택하기 만하면 변경이 트리거되지 않습니다. 셀을 선택했으면 F9 키를 눌러 시트를 계산하여 올바른 결과를 얻습니다.

+0

이것은 굉장합니다. 아름다운. 고맙습니다. Q : 빈 셀에 가서 'code'= CELL ("address") 'code'라고 썼습니다. 나는 활성 세포의 위치를 ​​알아 냈어. 그런 다음 또 다른 빈 셀에서 'code'= indirect (셀 ("주소")) '코드'를 작성했는데 이상한 것은 샘플 파일의 값 범위에있는 활성 셀의 값을 반환한다는 것입니다 (당신이 수식으로 헷지했던 사람) G9 : AA29도 아무데도 정의하지 않아도! 범위를 제한하지 않고 벌거 벗은 뼈 공식을 사용했습니다. F9를 눌렀을 때만 활성 셀이 해당 범위를 벗어난 경우 해당 셀을 평가합니다. 이상한, 안돼? – Optimesh

+1

여전히 SelectionChange 코드가 있습니까? 이 코드를 실행하면 시트에 쓰기 때문에 recalc이 발생합니다. 코드를 제거하면 해당 동작을 볼 수 없습니다. 또한 다른 시트에 올라있을 때 그 결과가 매우 신뢰할 수 없다는 점에 유의해야합니다. –

+0

@dick_kusleika 알겠습니다. 경고에 감사드립니다. – Optimesh

4

VBA를 사용해야합니다. 귀하의 예를 들어 당신의 시트 개체

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Row > 8 And Target.Column > 6 Then 
     Range("G4").Value = Cells(8, Target.Column).Value 
     Range("H4").Value = Cells(Target.Row, 6).Value 
     Range("L4").Value = Cells(Target.Row, Target.Column).Value 
    End If 
End Sub 

L4가 다른 수식에서 사용할 수있는 선택한 셀 값을 보여줍니다이 코드를 삽입 후.

편집

당신이 당신의 데이터가있는 시트 개체에 VBA 창을 더블 클릭로 이동하여 코드를 삽입합니다. (그림에서 화살표로 표시) 다음 yout 코드를 붙여 넣습니다. Code in Worksheet object

+0

감사합니다.하지만 결과를 수식에 포함시키는 방법은 무엇입니까? 활성 셀의 값을 입력으로 사용하는 수식을 만들 수 있습니까? – Optimesh

+0

내 편집에 따라 결과가 셀 L4에 표시됩니다. 그런 다음 해당 셀 L4를 참조하는 수식을 만들 수 있습니다. – hstay

+0

셀을 클릭해도 아무런 변화가 없습니다. 나는 간단한 것을 놓치고 있어야합니다. 죄송합니다. 통증이 있으신가요? ( – Optimesh

관련 문제