안녕하세요. 오즈맨 입니다. 배열수식의 내용을 알아봅니다. 시트명은 Korean 입니다. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Korean 시트 에 사용한 수식 입니다. by MicroSoft Excel v 2003 분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요. 수식만 입력하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다. $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!! |
||||
No | 셀주소 | 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다. (복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데, 익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다. |
결과 | 수식을 |
1 | C11 | =C10-C$8 | 0.031 | |
2 | C11 셀의 수식을 여기에 복사하세요 -→ C11:L11,C15:L15 | |||
3 | C12 | =C11/C$8 | 1.53% | |
4 | C12 셀의 수식을 여기에 복사하세요 -→ C12:L12,C16:L16 | |||
5 | D1 | =SUMPRODUCT(--(DATEDIF(A1:A20000,TODAY(),"y")>50)) | 3955 | |
6 | D2 | =SUMPRODUCT(--(DATEDIF(A1:A20000,TODAY(),"y")< =50)) | 16045 | |
7 | D3 | =SUMPRODUCT((DATEDIF(A1:A20000,TODAY(),"y")>50)*1) | 3955 | |
8 | D4 | =SUMPRODUCT((DATEDIF(A1:A20000,TODAY(),"y")< =50)*1) | 16045 | |
9 | D5 | =SUM(IF(DATEDIF(A1:A20000,TODAY(),"y")>50,1,"")) | 3955 | |
10 | D6 | =SUM(IF(DATEDIF(A1:A20000,TODAY(),"y")< =50,1,"")) | 16045 | |
11 | M8 | =AVERAGE(C8:L8) | 2.056 | |
12 | M8 셀의 수식을 여기에 복사하세요 -→ M8,M10:M12,M14:M16 | |||
sumproduct 앞의 -- 는 뺄셈이 아니라
단순히 ((부호변경))을 함으로써 논리값(True/False)을 1/0 으로 변경합니다. 뺄셈이 아니므로 소요시간이 덜 걸리는 잇점이 있습니다. |
||||
보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다. 첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요. 분홍색 수식이 있으면 수식 입력에 주의하세요 !!! ※ 만일 수식에 사용된 공백때문에 오류(다른 값)가 나오면 공백을 확인바랍니다. |
-- 사용한 코드입니다 -- Option Explicit
Sub x()
Dim t(1 To 6) As Double, i As Double
Dim Answ(1 To 9, 1 To 1)
Dim rng As Range
Sheet1.Range("o1") = "."
Sheet1.Range("b1:b2").ClearContents
Sheet2.Range("o1") = "."
Sheet2.Range("b1:b2").ClearContents
Range("b1").Formula = "=SUMPRODUCT(--(DATEDIF(A1:A20000,TODAY(),""y"")>50))"
Range("b2").Formula = "=SUMPRODUCT(--(DATEDIF(A1:A20000,TODAY(),""y"")<=50))"
t(1) = Timer
For i = 1 To 10
Application.Calculate
Next
t(2) = Timer
Range("b1").Formula = "=SUMPRODUCT((DATEDIF(A1:A20000,TODAY(),""y"")>50)*1)"
Range("b2").Formula = "=SUMPRODUCT((DATEDIF(A1:A20000,TODAY(),""y"")<=50)*1)"
t(3) = Timer
For i = 1 To 10
Application.Calculate
Next
t(4) = Timer
Range("b1").FormulaArray = "=SUM(IF(DATEDIF(A1:A20000,TODAY(),""y"")>50,1,""""))"
Range("b2").FormulaArray = "=SUM(IF(DATEDIF(A1:A20000,TODAY(),""y"")<=50,1,""""))"
t(5) = Timer
For i = 1 To 10
Application.Calculate
Next
t(6) = Timer
Answ(1, 1) = (t(2) - t(1)) / 24 / 60 / 60 '첫결과
Answ(3, 1) = (t(4) - t(3)) / 24 / 60 / 60 '결과2
Answ(5, 1) = (t(6) - t(5)) / 24 / 60 / 60 '결과3
Set rng = Range("iv1").End(xlToLeft).Offset(, 1)
rng.Resize(5, 1).NumberFormat = "[s].000"
rng.Resize(5, 1) = Answ
Erase t
Erase Answ
Set rng = Nothing
Range("b1:b2").ClearContents
Beep
End Sub
'엑셀보조파일,기능,함수' 카테고리의 다른 글
엑셀 2007 에 있는 SUMIFS 를 2003 에서 ... SUMIFS2003 (1) | 2008.09.05 |
---|---|
엑셀 2007 에 있는 COUNTIFS 를 2003 에서 ... COUNTIFS2003 (0) | 2008.09.05 |
엑셀 2007 에 있는 IFERROR 를 2003 에서 ... IFERROR2003 (1) | 2008.09.04 |
오즈맨의 Sheet to Web 2.00 (Sheet2Web) (0) | 2008.08.28 |
오즈맨의 Sheet to Web 1.9 Up (0) | 2008.08.19 |
엑셀 2007 2003 동시에 깔려있을때 xls 지정하기 (0) | 2008.07.13 |
Office. 자동 고침 옵션에 한/영 자동 고침이 없으면 (0) | 2008.07.11 |