안녕하십니까. 회사에서 엑셀로 작업할 것이 있는데.. 보이는 값만 합계를 내려고 subtotal(109,a1:k1) 0이렇게 합계를 내려고 했는데 subtotal 109는 행숨기기(가로로 숨기기)만 무시를 하더군요.. 혹시 세로도 숨겨진 값을 무시하는 함수는 없는지요.. 알려주시면 정말 감사하겠습니다^^
Function subtotal2(targetRange As Range) Dim r As Range Dim output As Double For Each r In targetRange If r.Width <> 0 And r.Height <> 0 Then output = output + r.Value End If Next r subtotal2 = output End Function
잘 아시는 바와 같이,
subtotal함수는
행을 기준으로, 숨겨져있거나 자동 필터에서 제외된 아이들을 제외하고 작동하는 함수입니다.
열은 숨기던 말던 쌩까지요.. ^-^;;
현재 엑셀에 숨긴 열을 제외하고 계산하는 수식은 없는 것으로 알고 있습니다.
그런 기능을 사용하려면 사용자 정의 함수를 만들어서 사용할 수 밖에 없을 것 같습니다.
제가 한번 만들어봤습니다. 첨부파일을 참고하세요.
(참고로 사용자 정의 수식은 셀의 변화에 따라 자동으로 값이 업데이트가 안됩니다. Ctrl+Shift+Alt+F9를 눌러 전체 재계산해야합니다.)
abyul_20100316_숨긴열제외합계.xls
Option Explicit
Function subtotal2(targetRange As Range)
Dim r As Range
Dim output As Double
For Each r In targetRange
If r.Width <> 0 And r.Height <> 0 Then
output = output + r.Value
End If
Next r
subtotal2 = output
End Function