'오즈맨의 이야기들'에 해당되는 글 90건

  1. 2008.12.11 버철박스 VirtualBox 에서 인터넷 Internet 이 안되면 3
  2. 2008.11.23 심심풀이
  3. 2008.11.07 엑셀 VBE 에서 나오는 오류! VBE 메서드에서 _Application 개체의 오류가... 1
  4. 2008.10.04 SUMPRODUCT 사용 예제 - 2
  5. 2008.10.04 SUMPRODUCT 사용 예제 - 1 1
  6. 2008.10.03 엑셀 2003 2007 동시에 설치하기 4
  7. 2008.10.02 오즈맨의 Sheet to Web 2.2 (Sheet2Web) 3
  8. 2008.09.26 세금계산서용 금액표시 실수-3
  9. 2008.09.26 세금계산서용 금액표시 실수-2
  10. 2008.09.26 세금계산서용 금액표시 실수-1
  11. 2008.09.24 숫자 문자 혼용한 숫자에 콤마를 삽입하는 사용자 정의함수
  12. 2008.09.24 배열수식의 해설 - 3,4
  13. 2008.09.24 배열수식의 해설 - 1,2
  14. 2008.09.24 배열수식의 응용-1
  15. 2008.09.18 연속적으로 이어지는 셀 주소 만드는 사용자 함수 (ShrStrings)
  16. 2008.09.18 중간에 끊어진 차트 만들기 2
  17. 2008.09.17 중간에 끊어진 차트 만들기 1
  18. 2008.09.16 세금계산서용 공급가액/세액 만들기
  19. 2008.09.11 사용자 정의 함수 만들기 1
  20. 2008.09.09 숫자를 영어로 나타내는 사용자 함수 (NUM2DOLLAR)
  21. 2008.09.07 여러 영역의 문자열 합치는 사용자 함수 (STRJOIN)
  22. 2008.09.05 엑셀 2007 에 있는 SUMIFS 를 2003 에서 ... SUMIFS2003 1
  23. 2008.09.05 엑셀 2007 에 있는 COUNTIFS 를 2003 에서 ... COUNTIFS2003
  24. 2008.09.04 VALUE 함수, N 함수, *1 방법, SUMPRODUCT(--( 비교
  25. 2008.09.04 엑셀 2007 에 있는 IFERROR 를 2003 에서 ... IFERROR2003 1
  26. 2008.09.03 배열수식, SUMPRODUCT 의 속도를 올리자
  27. 2008.08.28 오즈맨의 Sheet to Web 2.00 (Sheet2Web)
  28. 2008.08.19 오즈맨의 Sheet to Web 1.9 Up
  29. 2008.08.13 채우기 핸들 이 작동되지 않을 경우 2003
  30. 2008.08.09 선택한 영역만 인쇄하는 방법


 
버철박스 VirtualBox에서 인터넷을 사용하려면 네트워크를 설정합니다만
 
인터넷이 이리저리 해봐도 잘 안될 경우가 있습니다.
 
ip 를 수동으로 사용하시는 분은 ip 내용을 미리 메모 해두셔요
1. 네크워크를 클릭합니다.  
2. 호스트 인터페이스를 추가합니다.
 
사용자 삽입 이미지
3. 인터페이스 이름을 입력합니다.  
4. 하드웨어를 설치한다면
    확인을 누릅니다.
 
사용자 삽입 이미지
사용자 삽입 이미지
5. 오류는 그냥 무시하고 넘어갑니다.  
6. 제어판에서 네트워크 연결 을 엽니다.
 
사용자 삽입 이미지
사용자 삽입 이미지
7. 연결 브릿지를 만듭니다.  
8. 화면이 진행되는 모습입니다.
 
사용자 삽입 이미지
사용자 삽입 이미지
9. 이 화면은 공유기를 사용할 경우에
  해당합니다. 속성을 엽니다.
 
10. 이 화면은 공유기를 사용할 경우
     해당합니다. 수동 ip 를 지정합니다.
 
사용자 삽입 이미지
사용자 삽입 이미지
11. 버철박스를 종료 후 다시엽니다.
    네트워크연결을
     호스트 인터페이스로 지정합니다.
12. 네트워크가 변경되었습니다.
     확인하셔요.
사용자 삽입 이미지
사용자 삽입 이미지
13. 결과 화면입니다.

     Window XP(한글/영문),

    
Window VISTA (한글 영문)

     확인 완료 했습니다.
사용자 삽입 이미지

Posted by 오즈맨스머프

심심풀이

재밋거리 2008. 11. 23. 17:07



같은 거 끼리 사라집니당당

'재밋거리' 카테고리의 다른 글

금 캐기 심심풀이 땅콩 ^^  (0) 2009.01.20
벽돌게임  (2) 2008.04.07
Posted by 오즈맨스머프


엑셀 vbe 를 컨트롤 하다가 나오는 오류 중

'1004' 런타임 오류가 발생하였습니다:
'vbe'메서드('_Application'개체의)에서
오류가 발생하였습니다

라는 메시지가 나오면 황당합니다

이 오류의 해결책입니다.



Posted by 오즈맨스머프


 [ SUMPRODUCT 사용 예제 - 2 ] 에 대해 알아봅니다.
   --->
   두 개의 열에서 OR 조건 개수 구하기
 
1
2
3
4
5
6
7
8
9
10
11
A B C D E F G H I J K L M
    홍길동 혹은 부산 의 개수는? 홍길동 혹은 부산 의 개수는? 한방에 모은다면?
이름 지역 홍길동? 부산 ? or 로... 숫자로 홍길동? 부산 ? or 로... 숫자로 조건1+2 [1+2]>0 ? 숫자로
홍길동 부산 TRUE TRUE TRUE 1 TRUE TRUE TRUE 1 2 TRUE 1
삼식이 제주 FALSE FALSE FALSE 0 FALSE FALSE TRUE 1 0 FALSE 0
심순애 부산 FALSE TRUE TRUE 1 FALSE TRUE TRUE 1 1 TRUE 1
홍길동 제주 TRUE FALSE TRUE 1 TRUE FALSE TRUE 1 1 TRUE 1
삼식이 부산 FALSE TRUE TRUE 1 FALSE TRUE TRUE 1 1 TRUE 1
심순애 제주 FALSE FALSE FALSE 0 FALSE FALSE TRUE 1 0 FALSE 0
홍길동 부산 TRUE TRUE TRUE 1 TRUE TRUE TRUE 1 2 TRUE 1
          5 뭔가 오류??? 7 7   5
단순히 + 를 OR 로 적용한 수식은 엉뚱한 결과가 나올 수 있습니다. 7     5


Sheet2
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 C3 =A3="홍길동" TRUE
2   C3  셀의 수식을 여기에 복사하세요 -→ C3:C9    
3 D3 =B3="부산" TRUE
4   D3  셀의 수식을 여기에 복사하세요 -→ D3:D9    
5 E3 =OR(C3,D3) TRUE
6   E3  셀의 수식을 여기에 복사하세요 -→ E3:E9    
7 F3 =E3*1 1
8   F3  셀의 수식을 여기에 복사하세요 -→ F3:F9    
9 G3:G9 =A3:A9="홍길동"
셀 주소 모두를 선택하고 입력하세요
TRUE
10 H3:H9 =B3:B9="부산"
셀 주소 모두를 선택하고 입력하세요
TRUE
11 I3:I9 =OR(G3:G9,H3:H9)
셀 주소 모두를 선택하고 입력하세요
TRUE
12 J3:J9 =I3:I9*1
셀 주소 모두를 선택하고 입력하세요
1
13 K3 =(A3="홍길동")+(B3="부산") 2
14   K3  셀의 수식을 여기에 복사하세요 -→ K3:K9    
15 L3 =K3>0 TRUE
16   L3  셀의 수식을 여기에 복사하세요 -→ L3:L9    
17 M3 =--L3 1
18   M3  셀의 수식을 여기에 복사하세요 -→ M3:M9    
19 F10 =SUM(F3:F9) 5
20   F10  셀의 수식을 여기에 복사하세요 -→ F10,J10:K10,M10    
21 J11 =SUMPRODUCT((A3:A9="홍길동")+(B3:B9="부산"))
 [참고] 생각치 못한 엉뚱한 결과입니다.
7
22 M11 =SUMPRODUCT(--((A3:A9="홍길동")+(B3:B9="부산")>0))
 [참고] 올바른 결과입니다.
5

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

Posted by 오즈맨스머프


 [ SUMPRODUCT 사용 예제 - 1 ] 에 대해 알아봅니다.
   --->
   하나의 열에서 OR 조건 개수 구하기
 
1
2
3
4
5
6
7
8
9
10
11
A B C D E F G
  홍길동 혹은 삼식이 의 개수는? 한방에 모은다면?
이름 홍길동? 삼식이? 둘의 합 홍길동? 삼식이? 둘의 합
홍길동 TRUE FALSE 1 TRUE FALSE 1
삼식이 FALSE TRUE 1 FALSE TRUE 1
심순애 FALSE FALSE 0 FALSE FALSE 0
홍길동 TRUE FALSE 1 TRUE FALSE 1
삼식이 FALSE TRUE 1 FALSE TRUE 1
심순애 FALSE FALSE 0 FALSE FALSE 0
홍길동 TRUE FALSE 1 TRUE FALSE 1
  5   5     5
하나의 열에 or 조건을 사용하면 원하는 결과가 나옵니다.


Sheet1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 B3 =A3="홍길동" TRUE
2   B3  셀의 수식을 여기에 복사하세요 -→ B3:B9    
3 C3 =A3="삼식이" FALSE
4   C3  셀의 수식을 여기에 복사하세요 -→ C3:C9    
5 D3 =B3+C3 1
6   D3  셀의 수식을 여기에 복사하세요 -→ D3:D9,G3:G9    
7 E3:E9 =A3:A9="홍길동"
셀 주소 모두를 선택하고 입력하세요
TRUE
8 F3:F9 =A3:A9="삼식이"
셀 주소 모두를 선택하고 입력하세요
FALSE
9 B10 =SUMPRODUCT((A3:A9="홍길동")+(A3:A9="삼식이")) 5
10 D10 =COUNTIF(A3:A9,"홍길동")+COUNTIF(A3:A9,"삼식이") 5
11 G10 =SUM(G3:G9) 5

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

Posted by 오즈맨스머프


엑셀 2003 과 엑셀 2007 을 동시에 사용하려면
서로 다른 폴더에 설치하면 사용 가능합니다.
다만 안정적으로 사용하기 위해서는 다음 순서대로 설치하시는게 가장 낫더군요

제가 사용했던 각 버전별 폴더입니다
c:\Program Files\Microsoft Office\0097\
c:\Program Files\Microsoft Office\2000\
c:\Program Files\Microsoft Office\2002\
c:\Program Files\Microsoft Office\2003\
c:\Program Files\Microsoft Office\2007\

프로그램의 설치순서는 낮은 버전부터 높은 버전까지 순서대로 설치했으며

마지막에 엑셀 2003의 추가기능을 설치했는데 그 이유는
xls 확장자가 무조건 2007 로 열리는 것 때문입니다.
설치 시디가 있을 경우 가장 간단한 방법이
엑셀 2007 이 깔린 상태에서 엑셀 2003 버전을 설치 하는 것입니다.
그러나
상위 버전이 설치된 이후 하위 버전을 설치할 경우
예기치 못한 오류가 나올 수 있으므로 아래와 같이



해결방법 1 엑셀 설치과정 중 복구 방법을 사용합니다.
1) 엑셀 2003의 설치화면에서 "다시 설치 또는 복구"를 선택합니다
사용자 삽입 이미지

2) 시작메뉴 바로가기 복원 을 선택합니다
사용자 삽입 이미지


해결방법 2 엑셀 2003의 추가기능만을 설치합니다.

1) 아래처럼 추가기능 파일이 있는 폴더를 삭제합니다.
     c:\Program Files\Microsoft Office\2003\OFFICE11\Library\

2) 엑셀을 실행합니다
     이때 다음과 같은 메시지가 나오면서 추가기능을 자동으로 설치합니다
사용자 삽입 이미지
이 메시지가 나온다면 아래는 더 볼 필요 없습니다.

3) 2) 의 메시지가 나오지 않으면 아래와 같이 추가기능을 선택합니다
사용자 삽입 이미지


프로그램 설치를 하지않고 지정하시려면 아래를 참조하십시오
http://ozman.tistory.com/65
Posted by 오즈맨스머프


시트의 내용이나 시트에 있는 수식을 설명할 때 유용한 도구입니다.
  불필요하게 예제파일을 만들지 않아도 됩니다.
Sheet2Web (시트웹)은 아래와 같이 사용됩니다.

사용자 삽입 이미지
사용자 삽입 이미지
경미한 버그 조금 잡고
셀 너비 때문에 줄바꿈이 있거나
너비땜시 보기 안 좋을때 방법 개선했어유
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


다운로드 할 파일입니다.
둘 중 하나를 받으세요
(2008.10.01 파일 변경)
추가기능 xla 파일 Zip 압축파일

이 기능을 사용하시려면 파일을 다운로드 받으신 다음
아래의 폴더 중 한곳에 복사해서 사용하세요
C:\Program Files\Microsoft Office\Office\XLStart
C:\Program Files\Microsoft Office\Office\Library
Posted by 오즈맨스머프


 [ 세금계산서용 금액표시 실수-3 ] 에 대해 알아봅니다.
 
1
2
3
4
5
6
7
BCDEFGHIJKLMNOPQR
자릿수123456789101112  문자길이계산서용
오류 3 세액이 어긋납니다총액100,000,000 9 
공급가 --90909091공급가90,909,091 8---90909091
세액 --9090909 세액9,090,909 7---9090909
해결 3 올바른 금액을 연결시킵니다   ----90909091
공급가 ---90909091   -----9090909
세액 ----9090909 시트 "오류3" 입니다


오류3
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1Q2=LEN(P2)9
2 Q2  셀의 수식을 여기에 복사하세요 -→ Q2:Q4  
3D3=MID($R$3,D$1,1)-
4 D3  셀의 수식을 여기에 복사하세요 -→ D3:N3  
5P3=ROUND(P2/1.1,0)90,909,091
6R3=REPT("-",12-Q2)&P3---90909091
7D4=MID($R$4,D$1,1)-
8 D4  셀의 수식을 여기에 복사하세요 -→ D4:M4  
9P4=P2-P39,090,909
10R4=REPT("-",12-Q2)&P4---9090909
11R5=REPT("-",12-Q3)&P3----90909091
12 R5  셀의 수식을 여기에 복사하세요 -→ R5:R6  
13D6=MID($R$5,D$1,1)-
14 D6  셀의 수식을 여기에 복사하세요 -→ D6:N6  
15D7=MID($R$6,D$1,1)-
16 D7  셀의 수식을 여기에 복사하세요 -→ D7:N7  

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Posted by 오즈맨스머프


 [ 세금계산서용 금액표시 실수-2 ] 에 대해 알아봅니다.
 
BCDEFGHIJKLMNOPQR
자릿수123456789101112  문자길이계산서용
오류 2 총 금액 때문에 위치가 어긋납니다총액100,000,000 9 
공급가 --90909091 공급가90,909,091 8---90909091
세액 --9090909  세액9,090,909 7---9090909
해결 2 올바른 금액을 연결시킵니다   ----90909091
공급가 ---90909091   -----9090909
세액 -----909090 시트 "오류2" 입니다


오류2
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1Q2=LEN(P2)9
2 Q2  셀의 수식을 여기에 복사하세요 -→ Q2:Q4  
3D3=MID($R$3,D$1,1)-
4 D3  셀의 수식을 여기에 복사하세요 -→ D3:M3  
5P3=ROUND(P2/1.1,0)90,909,091
6R3=REPT("-",12-Q2)&P3---90909091
7D4=MID($R$4,D$1,1)-
8 D4  셀의 수식을 여기에 복사하세요 -→ D4:L4  
9P4=P2-P39,090,909
10R4=REPT("-",12-Q2)&P4---9090909
11R5=REPT("-",12-Q3)&P3----90909091
12 R5  셀의 수식을 여기에 복사하세요 -→ R5:R6  
13D6=MID($R$5,D$1,1)-
14 D6  셀의 수식을 여기에 복사하세요 -→ D6:N6  
15D7=MID($R$6,D$1-1,1)-
16 D7  셀의 수식을 여기에 복사하세요 -→ D7:N7  

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.


Posted by 오즈맨스머프


 [ 세금계산서용 금액표시 실수-1 ] 에 대해 알아봅니다.
 
B C D E F G H I J K L M N O P Q R
자릿수 1 2 3 4 5 6 7 8 9 10 11 12     문자길이 계산서용
오류 1   세액이 한 칸 어긋납니다 총액 100,000,000  9  
공급가   - - - 9 0 9 0 9 0 9 1 공급가 90,909,091  8 ----90909091
세액   - - - 9 0 9 0 9 0 9   세액 9,090,909  7 ----9090909
해결 1   세액에서 열 번호 -1 합니다        
공급가   - - - 9 0 9 0 9 0 9 1   시트 "오류1" 입니다
세액   - - - - 9 0 9 0 9 0 9  


오류1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 Q2 =LEN(P2) 9
2   Q2  셀의 수식을 여기에 복사하세요 -→ Q2:Q4    
3 D3 =MID($R$3,D$1,1) -
4   D3  셀의 수식을 여기에 복사하세요 -→ D3:N3,D6:N6    
5 P3 =ROUND(P2/1.1,0) 90,909,091
6 R3 =REPT("-",12-Q3)&P3 ----90909091
7 D4 =MID($R$4,D$1,1) -
8   D4  셀의 수식을 여기에 복사하세요 -→ D4:M4    
9 P4 =P2-P3 9,090,909
10 R4 =REPT("-",12-Q3)&P4 ----9090909
11 D7 =MID($R$4,D$1-1,1) -
12   D7  셀의 수식을 여기에 복사하세요 -→ D7:N7    

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Posted by 오즈맨스머프


 [ 숫자 문자 혼용한 숫자에 콤마를 삽입하기 ] 에 대해 알아봅니다.
 
A B
홍길동1000000 홍길동1,000,000
홍길동1000 전우치 2000 홍길동1,000 전우치 2,000
12345만세34568조중동폐간 12,345만세34,568조중동폐간


Sheet1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 B2 =SampleStrNum(A2) 홍길동1,000,000
2   B2  셀의 수식을 여기에 복사하세요 -→ B2:B4    

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Option Explicit

Function SampleStrNum(MyStr As String)
Dim i As Double, j As Double, k As Double
Dim Strr As String  '한 글자씩 오려내는 문자변수
Dim cnt As Double   '문자열의 길이
Dim VarStr() As String   '문자열끼리 모이는 임시변수
Dim VarNum() As String   '숫자끼리 모이는 임시변수
Dim Power1 As String     '직전에 처리한게 숫자였냐 문자냐
Dim Power2 As String     '지금 처리할 문자가 숫자냐 문자냐
Dim MyAnsw() As String   '최종 결과
Dim Num1st As Boolean    '첫 부분이 숫자이냐 아니냐
ReDim VarStr(1 To 1) As String     '문자열끼리 모이는 임시변수
ReDim VarNum(1 To 1) As String     '숫자끼리 모이는 임시변수
     cnt = Len(MyStr)    '입력받은 문자열의 길이

For i = 1 To cnt         '문자열 처음부터 끝까지를 보되
Strr = Mid(MyStr, i, 1)  '그 중 지정한 위치의 한 글자
     If IsNumeric(Strr) Then  '그 글자가 숫자이면
          Power2 = "num"      '지금 처리할 문자가 숫자면 Power2 를 num 으로
          If Power1 <> Power2 Then      'Power1 , Power2 가 다르다면
               j = j + 1      '숫자용 변수를 하나 증가시키고
               ReDim Preserve VarNum(1 To j) As String '변수를 재 선언하고
               Power1 = Power2     'Power1 , Power2 를 일치시킵니다.
          End If
               VarNum(j) = VarNum(j) & Strr  '해당 변수에 있는 숫자에 지금 숫자 한자리를 붙입니다.
     If i = 1 Then Num1st = True        '첫 부분이 숫자이냐 아니냐만을 판단합니다
     Else
          Power2 = "str"      '지금 처리할 문자가 문자라면 Power2 를 str 으로
          If Power1 <> Power2 Then      'Power1 , Power2 가 다르다면
               k = k + 1      '문자용 변수를 하나 증가시키고
               ReDim Preserve VarStr(1 To k) As String '변수를 재 선언하고
               Power1 = Power2     'Power1 , Power2 를 일치시킵니다.
          End If
               VarStr(k) = VarStr(k) & Strr  '해당 변수에 있는 숫자에 지금 숫자 한자리를 붙입니다.
     End If
Next
     If j > k Then  '숫자용 변수의 개수 j 와
          cnt = j   '문자용 변수 k 중 큰거를 기준으로합니다
     Else
          cnt = k
     End If
ReDim MyAnsw(1 To cnt) As String   '결과 배열을 만든 다음
If Num1st = True Then              '첫 부분이 숫자이면 여기를 수행
     For i = 1 To cnt
          If Not IsEmpty(VarNum(i)) Then     '숫자 부분이 공백 아니면(값이 있으면)
          MyAnsw(i) = Format(VarNum(i), "#,#")    ' 천단위 , 찍은값으로 표시
          End If
     MyAnsw(i) = MyAnsw(i) & VarStr(i)       '좀전에 받은 숫자와 문자변수중 하나를 연결합니다
     Next
Else                               '첫 부분이 문자이면 여기를 수행
     For i = 1 To cnt
     MyAnsw(i) = VarStr(i)         '문자변수중 하나를 대입한 다음
          If Not IsEmpty(VarNum(i)) Then     '숫자 부분이 공백 아니면(값이 있으면)
          MyAnsw(i) = MyAnsw(i) & Format(VarNum(i), "#,#")  ' 천단위 , 찍은값을 연결합니다
          End If
     Next
End If
SampleStrNum = Join(MyAnsw, "")    '숫자와 문자를 연결한 MyAnsw 의 각 값을 하나로 모읍니다.
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요



Posted by 오즈맨스머프


 [ 배열수식의 해설 - 3,4 ] 에 대해 알아봅니다.
 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
ABCDEFGHIJK
(3)   =SUMPRODUCT((영역=조건),(영역=조건),(합계영역))
=SUMPRODUCT((A3:A11=B16),(B3:B11=C16),(C3:C11))
지역담당자금액FALSE0FALSE0금액000 * 0 * 0
부산홍길동10TRUE0TRUE0101000 * 0 * 10
제주심순애20FALSE0FALSE0202000 * 0 * 20
대구홍길동30FALSE0TRUE0303000 * 0 * 30
독도심순애40FALSE0FALSE0404000 * 0 * 40
부산홍길동50TRUE0TRUE0505000 * 0 * 50
제주심순애60FALSE0FALSE0606000 * 0 * 60
대구홍길동70FALSE0TRUE0707000 * 0 * 70
독도심순애80FALSE0FALSE0808000 * 0 * 80
360조건1조건2합계영역0합계   [=조건1*조건2*합계]
{=IF(ISNUMBER(H3:H11),H3:H11,0)}
{=IF(ISNUMBER(F3:F11),F3:F11,0)}
조건지역담당자{=IF(ISNUMBER(D3:D11),D3:D11,0)}
부산홍길동SUMPRODUCT 함수는 각 인수를 1:1 로 곱하되
[[숫자가 아니면 모두 0 으로 변경합니다]]
TRUE , FALSE 에 +-*/ 연산을 안하므로 0 으로 계산합니다.
합계해설
0해설 3=SUMPRODUCT((A3:A11=B16),(B3:B11=C16),(C3:C11))
60해설 4=SUMPRODUCT(--(A3:A11=B16),--(B3:B11=C16),(C3:C11))
논리값
(TRUE,FALSE)을
그대로 두고
함수에 적용함과
논리값
(TRUE,FALSE)에
 -- 연산을 함이
서로 다른 결과를
 가져옵니다.
(4)   =SUMPRODUCT(--(영역=조건),--(영역=조건),(합계영역))
=SUMPRODUCT(--(A3:A11=B16),--(B3:B11=C16),(C3:C11))
0000금액000 * 0 * 0
11111010101 * 1 * 10
0000202000 * 0 * 20
0011303000 * 1 * 30
0000404000 * 0 * 40
11115050501 * 1 * 50
0000606000 * 0 * 60
0011707000 * 1 * 70
0000808000 * 0 * 80
조건1조건2합계영역60합계   [=조건1*조건2*합계]
{=IF(ISNUMBER(--(H24:H32)),--(H24:H32),0)}
{=IF(ISNUMBER(--(F24:F32)),--(F24:F32),0)}
{=IF(ISNUMBER(--(D24:D32)),--(D24:D32),0)}
TRUE , FALSE 에 -- 연산을 하므로 1 로 계산합니다.
논리결과(TRUE,FALSE)에 -1을 두번 곱합니다.
그러나 사실은 [[부호변경 역할을 두번 수행합니다.]]
숫자가 아닌것은 모두 0 으로 인식합니다(첫 행의 문자 "금액"은 0 으로 인식합니다)


Sheet3
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1D3:D11=(A3:A11=B16)
셀 주소 모두를 선택하고 입력하세요
FALSE
2E3:E11=IF(ISNUMBER(D3:D11),D3:D11,0)
셀 주소 모두를 선택하고 입력하세요
0
3 E3  셀의 수식을 여기에 복사하세요 -→ E3,G3,I3  
4F3:F11=(B3:B11=C16)
셀 주소 모두를 선택하고 입력하세요
FALSE
5H3:H11=(C3:C11)
셀 주소 모두를 선택하고 입력하세요
금액
6J3:J11=E3:E11*G3:G11*I3:I11
셀 주소 모두를 선택하고 입력하세요
0
7 J3  셀의 수식을 여기에 복사하세요 -→ J3,J24  
8K3=E3&" * "&G3&" * "&I30 * 0 * 0
9 K3  셀의 수식을 여기에 복사하세요 -→ K3:K11,K24:K32  
10J12=SUM(J3:J11)0
11 J12  셀의 수식을 여기에 복사하세요 -→ J12,J33  
12D24:D32=--(A3:A11=B16)
셀 주소 모두를 선택하고 입력하세요
0
13E24:E32=IF(ISNUMBER(--(D24:D32)),--(D24:D32),0)
셀 주소 모두를 선택하고 입력하세요
0
14 E24  셀의 수식을 여기에 복사하세요 -→ E24,G24,I24  
15F24:F32=--(B3:B11=C16)
셀 주소 모두를 선택하고 입력하세요
0
16H24:H32=(C3:C11)
셀 주소 모두를 선택하고 입력하세요
금액

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

     합계영역을 지정하기 않으면 조건에 맞는 개수를 구합니다.

Posted by 오즈맨스머프


 [ 배열수식의 해설 - 1,2 ] 에 대해 알아봅니다.
 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
ABCDEF
(1)   {=SUM((영역=조건)*(영역=조건)*(합계영역))}
{=SUM((A3:A11=B16)*(B3:B11=C16)*(C3:C11))}
지역담당자금액#VALUE!=(지역=부산)*(담당자=홍길동)*금액=(FALSE) * (FALSE) * 금액
부산홍길동1010=(부산=부산)*(홍길동=홍길동)*10=(TRUE) * (TRUE) * 10
제주심순애200=(제주=부산)*(심순애=홍길동)*20=(FALSE) * (FALSE) * 20
대구홍길동300=(대구=부산)*(홍길동=홍길동)*30=(FALSE) * (TRUE) * 30
독도심순애400=(독도=부산)*(심순애=홍길동)*40=(FALSE) * (FALSE) * 40
부산홍길동5050=(부산=부산)*(홍길동=홍길동)*50=(TRUE) * (TRUE) * 50
제주심순애600=(제주=부산)*(심순애=홍길동)*60=(FALSE) * (FALSE) * 60
대구홍길동700=(대구=부산)*(홍길동=홍길동)*70=(FALSE) * (TRUE) * 70
독도심순애800=(독도=부산)*(심순애=홍길동)*80=(FALSE) * (FALSE) * 80
360수식내용1수식내용2수식내용3
{="=("&(A3:A11=B16)&") * ("&(B3:B11=C16)&") * "&C3:C11}
{="=("&A3:A11&"="&B16&")*("&B3:B11&"="&C16&")*"&(C3:C11)}
조건지역담당자{=(A3:A11=B16)*(B3:B11=C16)*(C3:C11)}
부산홍길동#VALUE!합계   오류=SUM(D3:D11)
합을 구할 영역은 반드시 숫자 이어야하겠지요. 첫 행에서 당연 오류가 납니다
합계해설이는 SUMPRODUCT 도 마찬가지입니다
#VALUE!해설 1수식{=SUM((A3:A11=B16)*(B3:B11=C16)*(C3:C11))}
#VALUE!수식오류=SUMPRODUCT((A3:A11=B16)*(B3:B11=C16)*(C3:C11))
60해설 2수식{=SUM((A4:A11=B16)*(B4:B11=C16)*(C4:C11))}
60수식=SUMPRODUCT((A4:A11=B16)*(B4:B11=C16)*(C4:C11))
첫 행에 논리값과 문자를 곱한게 문제입니다(2)   {=SUM((영역=조건)*(영역=조건)*(합계영역))}
{=SUM((A4:A11=B16)*(B4:B11=C16)*(C4:C11))}
[[ 합계영역에는 숫자만 있습니다 ]]
10(부산=부산)*(홍길동=홍길동)*10(TRUE) * (TRUE) * 10
0(제주=부산)*(심순애=홍길동)*20(FALSE) * (FALSE) * 20
0(대구=부산)*(홍길동=홍길동)*30(FALSE) * (TRUE) * 30
0(독도=부산)*(심순애=홍길동)*40(FALSE) * (FALSE) * 40
50(부산=부산)*(홍길동=홍길동)*50(TRUE) * (TRUE) * 50
0(제주=부산)*(심순애=홍길동)*60(FALSE) * (FALSE) * 60
0(대구=부산)*(홍길동=홍길동)*70(FALSE) * (TRUE) * 70
0(독도=부산)*(심순애=홍길동)*80(FALSE) * (FALSE) * 80
수식내용1수식내용2수식내용3
{="("&(A4:A11=B16)&") * ("&(B4:B11=C16)&") * "&C4:C11}
{="("&A4:A11&"="&B16&")*("&B4:B11&"="&C16&")*"&(C4:C11)}
{=(A4:A11=B16)*(B4:B11=C16)*(C4:C11)}
60합계   =SUM(D27:D34)
TRUE , FALSE 에 +-*/ 연산을 하면 1,0 으로 계산합니다.


Sheet2
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1D3:D11=(A3:A11=B16)*(B3:B11=C16)*(C3:C11)
셀 주소 모두를 선택하고 입력하세요
#VALUE!
2E3:E11="=("&A3:A11&"="&B16&")*("&B3:B11&"="&C16&")*"&(C3:C11)
셀 주소 모두를 선택하고 입력하세요
=(지역=부산)*(담당자=홍길동)*금액
3F3:F11="=("&(A3:A11=B16)&") * ("&(B3:B11=C16)&") * "&C3:C11
셀 주소 모두를 선택하고 입력하세요
=(FALSE) * (FALSE) * 금액
4D16=SUM(D3:D11)#VALUE!
5B19=SUM((A3:A11=B16)*(B3:B11=C16)*(C3:C11))#VALUE!
6B20=SUMPRODUCT((A3:A11=B16)*(B3:B11=C16)*(C3:C11))#VALUE!
7B21=SUM((A4:A11=B16)*(B4:B11=C16)*(C4:C11))60
8B22=SUMPRODUCT((A4:A11=B16)*(B4:B11=C16)*(C4:C11))60
9D27:D34=(A4:A11=B16)*(B4:B11=C16)*(C4:C11)
셀 주소 모두를 선택하고 입력하세요
10
10E27:E34="("&A4:A11&"="&B16&")*("&B4:B11&"="&C16&")*"&(C4:C11)
셀 주소 모두를 선택하고 입력하세요
(부산=부산)*(홍길동=홍길동)*10
11F27:F34="("&(A4:A11=B16)&") * ("&(B4:B11=C16)&") * "&C4:C11
셀 주소 모두를 선택하고 입력하세요
(TRUE) * (TRUE) * 10
12D39=SUM(D27:D34)60

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

Posted by 오즈맨스머프


 [ 배열수식의 기본 ] 에 대해 알아봅니다.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ABCDEFGH
배열수식이란홍길동이 광주에서 근무한 횟수는?한방에 모은다면?
이름근무처이름=홍길동?근무처=광주?둘의 곱이름=홍길동?근무처=광주?둘의 곱
홍길동광주TRUETRUE1TRUETRUE1
삼식이대전FALSEFALSE0FALSEFALSE0
심순애광주FALSETRUE0FALSETRUE0
홍길동대전TRUEFALSE0TRUEFALSE0
삼식이광주FALSETRUE0FALSETRUE0
심순애대전FALSEFALSE0FALSEFALSE0
홍길동광주TRUETRUE1TRUETRUE1
삼식이대전FALSEFALSE0FALSEFALSE0
심순애대전FALSEFALSE0FALSEFALSE0
합계2합계2
참고로 엑셀에서는 TRUE/FALSE에 +-*/를 직접 계산하면 1/0 으로 인식합니다
한방에 모은 수식을 하나로 작성한다면 오른쪽과 같습니다
예제의 배열수식은 각행(열)의 연산을 한 다음 그들의 합을 구하는 방법입니다.
2
2


Sheet1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1C3=A3="홍길동"TRUE
2 C3  셀의 수식을 여기에 복사하세요 -→ C3:C11  
3D3=B3="광주"TRUE
4 D3  셀의 수식을 여기에 복사하세요 -→ D3:D11  
5E3=C3*D31
6 E3  셀의 수식을 여기에 복사하세요 -→ E3:E11  
7F3:F11=A3:A11="홍길동"
셀 주소 모두를 선택하고 입력하세요
TRUE
8G3:G11=B3:B11="광주"
셀 주소 모두를 선택하고 입력하세요
TRUE
9H3:H11=F3:F11*G3:G11
셀 주소 모두를 선택하고 입력하세요
1
10E12=SUM(E3:E11)2
11 E12  셀의 수식을 여기에 복사하세요 -→ E12,H12  
12H14=SUM((A3:A11="홍길동")*(B3:B11="광주"))2
13H15=SUMPRODUCT((A3:A11="홍길동")*(B3:B11="광주"))2

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

Posted by 오즈맨스머프


  [ 연속적으로 이어지는 셀 주소 만들기 ] 에 대해 알아봅니다.
  A B C
1 원래문자열
연속으로 이어지는 문자열
2 C1~C3,C6,C7,C19
C1,C2,C3,C6,C7,C19
3 R25~R33
R25,R26,R27,R28,R29,R30,R31,R32,R33
4 C8~C17
C8,C9,C10,C11,C12,C13,C14,C15,C16,C17
5 R10
R10


Sheet1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
  $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다. 결과 비고
1 C2 =ShrStrings(A2) C1,C2,C3,C6,C7,C19
2   C2  셀의 수식을 여기에 복사하세요 -→ C2:C5


  보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
  원하는 부분을 시트(셀)에 붙여 넣으세요.
    도움이 되시기를 바랍니다.
수식에 사용자 정의 함수가 있습니다. 다른 파일에서는 안 될 수 있습니다.
 주) 사용자 정의 함수를 많은 셀에 사용하면 버벅거릴 수 있습니다.
사용자 정의 함수를 사용했던 영역은 그 영역을 복사한 다음
편집/메뉴에서 선택하여 붙여넣기를 선택, 값으로 변환하는 것이 좋습니다.

Option
Explicit

Function ShrStrings(str As String)
Dim tmp1, tmp2
Dim i As Double, j As Double, k As Double
tmp1 = Split("," & str, ",")
Dim cnt1 As Double
Dim cnt2 As Double
     cnt1 = UBound(tmp1)
For i = 1 To cnt1
     tmp2 = Split("~" & tmp1(i), "~")
     k = UBound(tmp2)
     If k = 1 Then
          ShrStrings = ShrStrings & "," & tmp1(i)
     Else
          cnt2 = Range(tmp2(2)).Row - Range(tmp2(1)).Row + 1
          For j = 1 To cnt2
               ShrStrings = ShrStrings & "," & Range(tmp2(1))(j, 1).Address(0, 0)
          Next
     End If
Next
ShrStrings = Trim(Mid(ShrStrings, 2))
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요
이 파일을 다운로드 해보세요
Posted by 오즈맨스머프



중간이 끊어진
차트를 만드는
다른 방법을
알아봅니다.

꺾은선으로 연결된
분산형 차트를
사용하는 방법입니다.

첫 영역을 선택한 다음
차트삽입 메뉴를 클릭합니다.
차트 종류를 꺾은선으로 연결된
분산형 차트를 선택합니다.
사용자 삽입 이미지
사용자 삽입 이미지

계열 1 에 X 축을 추가합니다. 계열 2 의 X, Y 축을 추가합니다.
사용자 삽입 이미지
사용자 삽입 이미지

계열 3 의 X, Y 축을 추가합니다. 차트 크기를 변경합니다.
사용자 삽입 이미지
사용자 삽입 이미지
Posted by 오즈맨스머프


중간이 끊어진 차트를 만듭니다.
단서 : 음수일 경우 잘 모르겠네요.
원본을 선택한 다음
차트를 만들어 봅니다.
사용자 삽입 이미지
사용자 삽입 이미지

차트 종류를 꺾은선 으로 지정합니다. 불필요한 계열 1 은 제거합니다.
사용자 삽입 이미지
사용자 삽입 이미지

계열 2 에 X 축을 추가합니다. 끊어지기는 했지만. X 축이...
사용자 삽입 이미지
사용자 삽입 이미지

서식을 날짜로 지정합니다. 원하는 결과가 나오긴 했는디...
사용자 삽입 이미지
사용자 삽입 이미지

오직 차트의 서식만 변경합니다. 완성된 결과입니다.
사용자 삽입 이미지
사용자 삽입 이미지

Posted by 오즈맨스머프


 [ 세금계산서용 공급가액/세액 만들기 ] 에 대해 알아봅니다.
 
10 
B C D E F G H I J K L M N O P Q R
참고
자릿수
12자리를 기준으로 했습니다.     문자길이 계산서용
1 2 3 4 5 6 7 8 9 10 11 12 총액 100,000,000  9  
공급가   - - - 9 0 9 0 9 0 9 1 공급가 90,909,091  8 ----90909091
세액   - - - - 9 0 9 0 9 0 9 세액 9,090,909  7 -----9090909
                               
연속된 열 번호는 column() 함수로 구할수 있습니다      
공급가   - - - 9 0 9 0 9 0 9 1   시트 "권장수식" 입니다
자릿수 1 2 3 4 5 6 7 8 9 10 11 12  
공급가   - - - 9 0 9 0 9 0 9 1  
공급가   - - - 9 0 9 0 9 0 9 1        


권장수식
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 Q2 =LEN(P2) 9
2   Q2  셀의 수식을 여기에 복사하세요 -→ Q2:Q4    
3 D3 =MID($R$3,D$2,1) -
4   D3  셀의 수식을 여기에 복사하세요 -→ D3:N3,D7:N7    
5 P3 =ROUND(P2/1.1,0) 90,909,091
6 R3 =REPT("-",12-Q3)&P3 ----90909091
7   R3  셀의 수식을 여기에 복사하세요 -→ R3:R4    
8 D4 =MID($R$4,D$2,1) -
9   D4  셀의 수식을 여기에 복사하세요 -→ D4:N4    
10 P4 =P2-P3 9,090,909
11 C8 =COLUMN()-2 1
12   C8  셀의 수식을 여기에 복사하세요 -→ C8:N8    
13 D9 =MID($R$3,D$8,1) -
14   D9  셀의 수식을 여기에 복사하세요 -→ D9:N9    
15 D10 =MID($R$3,COLUMN()-2,1) -
16   D10  셀의 수식을 여기에 복사하세요 -→ D10:N10    

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Posted by 오즈맨스머프


사용자 정의 함수를 사용하거나 만들어야 하는 경우가 있습니다.
엑셀에서 사용자 정의 함수를 만드는 간단한 과정입니다.
만들기 1 단계
엑셀에서 도구-매크로-Visual Basic Editor
를 선택합니다.
혹은 알트 를 누른채로 F11 을 누릅니다.
사용자 함수를 사용하는 1 단계
셀에 사용자 함수명을 입력하고
필요한 인수를 입력합니다.
만들기 2 단계
새로운 창이 나와도 놀라지 말고
메뉴 중 삽입-모듈 을 선택합니다.
마무리 단계
원하는 결과가 나온걸 확인합니다.
만들기 3 단계 (마지막)
왼쪽에 모듈이 추가된걸 확인하고
오른쪽 창에 코드를 입력(붙여넣기)합니다.
- 참고 -
사용자 정의 함수가 있는 파일은
"매크로 포함 으로 열어야"합니당
주의사항
 사용자 정의 함수를 많은 셀에 사용하거나 혹은 엄청 많은 영역을 참조하면
 엑셀이 버벅거리거나 "응답없음" 으로 나올 수 있습니다.

 만일을 대비해서 사용자 정의 함수를 사용했던 영역은

 그 영역을 복사한 다음 편집/메뉴에서
(혹은 마우스 오른쪽 클릭)
 선택하여 붙여넣기를 선택, 값으로 변환하는 것이 좋습니다.
 아래는 사용자 정의 함수를 만들고 사용하는 예제입니다.
   1) 셀의 수식을 나타내는 사용자 정의 함수
   2) 셀에 있는 수식을 계산한 결과를 나타내는 사용자 정의 함수입니다.
Option Explicit
Function ViewSuSik(r As Range)
ViewSuSik = r.Formula
End Function
셀의 수식을 눈으로 볼 수 있게 합니다
=ViewSuSik(A1) 처럼하면 A1 의 수식이 보이게 됩니다.

Function GetAnswer(r As Range)
GetAnswer = Application.Evaluate(r.Value)

End Function
입력되어있는 수식의 계산결과를 보입니다.
=GetAnswer(A1) 하면 A1 에 있는 5+8+10 을 계산한 결과 23 을 나타냅니다.

                                                                                                                                          도움이 되시기바랍니다.
Posted by 오즈맨스머프


                                                  
  안녕하세요. 오즈맨 입니다.
 시트명은 Sheet1 입니다.
[ 숫자를 영어로 나타내는 사용자 함수 (NUM2DOLLAR) ] 예제 입니다.
   예제 - 1 NUM2DOLLAR (숫자)
   기본 화폐 단위 = 달러
   예제 - 2 NUM2DOLLAR (숫자, "fran")
 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
A B C D E
      1 One Dollar.
      109 One Hundred Nine Dollars.
      218 Two Hundred Eighteen Dollars.
      326 Three Hundred Twenty Six Dollars.
      435 Four Hundred Thirty Five Dollars.
      1,443 One Thousand Four Hundred Forty Three Dollars.
      2,452 Two Thousand Four Hundred Fifty Two Dollars.
      12,460 Twelve Thousand Four Hundred Sixty Dollars.
      22,469 Twenty Two Thousand Four Hundred Sixty Nine Dollars.
      30,000 Thirty Thousand Dollars.
      30,003 Thirty Thousand Three Dollars.
      40,000 Forty Thousand Dollars.
      50,009 Fifty Thousand Nine Dollars.
      7,000,015 Seven Million Fifteen Dollars.
      7,001,015 Seven Million One Thousand Fifteen Dollars.
    1 One Dollar.
    109.01 One Hundred Nine Dollars and One Cents.
    218.02 Two Hundred Eighteen Dollars and Two Cents.
    326.08 Three Hundred Twenty Six Dollars and Eight Cents.
    435.09 Four Hundred Thirty Five Dollars and Nine Cents.
    1,043.10 One Thousand Forty Three Dollars and Ten Cents.
    2,052.91 Two Thousand Fifty Two Dollars and Ninety One Cents.
    12,060.00 Twelve Thousand Sixty Dollars.
    22,069.01 Twenty Two Thousand Sixty Nine Dollars and One Cents.
    30,010.02 Thirty Thousand Ten Dollars and Two Cents.
    30,013.08 Thirty Thousand Thirteen Dollars and Eight Cents.
    7,001,005.11 Seven Million One Thousand Five Dollars and Eleven Cents.
    7,001,015.11 Seven Million One Thousand Fifteen Dollars and Eleven Cents.
  102.1333 One Hundred Two Dollars and Thirteen Cents and Three Three.
  102.2536 One Hundred Two Dollars and Twenty Five Cents and Three Six.
  102.9042 One Hundred Two Dollars and Ninety Cents and Four Two.
  110.1351 One Hundred Ten Dollars and Thirteen Cents and Five One.
  200.1354 Two Hundred Dollars and Thirteen Cents and Five Four.
1 One franc.
109 One Hundred Nine franc's.


Sheet1
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 E1 =NUM2DOLLAR(D1) One Dollar.
2   E1  셀의 수식을 여기에 복사하세요 -→ E1:E15    
3 E16 =NUM2DOLLAR(C16) One Dollar.
4   E16  셀의 수식을 여기에 복사하세요 -→ E16:E28    
5 E29 =NUM2DOLLAR(B29) One Hundred Two Dollars and
Thirteen Cents and Three Three.
6   E29  셀의 수식을 여기에 복사하세요 -→ E29:E33    
7 E34 =NUM2DOLLAR(A34,"franc") One franc.
8   E34  셀의 수식을 여기에 복사하세요 -→ E34:E35    

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일을 참조하시거나, 원하는 부분을 시트(셀)에 붙여 넣으세요.

     도움이 되시기를 바랍니다.
수식에 사용자 정의 함수가 있습니다. 다른 파일에서는 안 될 수 있습니다.
  주) 사용자 정의 함수를 많은 셀에 사용하면 버벅거릴 수 있습니다.
사용자 정의 함수를 사용했던 영역은 그 영역을 복사한 다음
편집/메뉴에서 선택하여 붙여넣기를 선택, 값으로 변환하는 것이 좋습니다.사용자 함수 만들기 입니다. [ 클릭 ]


Option Explicit

Function NUM2DOLLAR(WhatsNumber As Double, Optional MoneyType As String = "Dollar")' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date : 2008-09-09
Dim iLoop As Integer               'Loop
Dim CommaNumbr(1 To 5) As String   'Share by 3 Digit
Dim StrngNum_1 As String           'String Number to Format 000 000...
Dim StrngNum_2 As String           'String Number of Decimal
Dim WorkNumber As Variant          '000 000... Split
Dim NumInt     As String           'Number Integer
Dim NumDec     As String           'Decimal Number
Dim PosDot     As Integer
Dim PosDec     As Integer
Dim DecCent    As String

On Error Resume Next
     CommaNumbr(1) = " Trillion ": CommaNumbr(2) = " Billion "
     CommaNumbr(3) = " Million ":  CommaNumbr(4) = " Thousand "
     
PosDot = InStr(WhatsNumber, ".")

If WhatsNumber = 0 Then
          NUM2DOLLAR = "No Dollar."
     If MoneyType <> "Dollar" Then
          NUM2DOLLAR = Replace(NUM2DOLLAR, "Dollar", MoneyType)
     End If
          Exit Function
ElseIf WhatsNumber = 1 Then
          NUM2DOLLAR = "One Dollar."
     If MoneyType <> "Dollar" Then
          NUM2DOLLAR = Replace(NUM2DOLLAR, "Dollar", MoneyType)
     End If
          Exit Function

End If

If PosDot = 0 Then
     StrngNum_1 = Format(WhatsNumber, " 000 000 000 000 000")
Else
     StrngNum_1 = Format(Left(WhatsNumber, PosDot - 1), " 000 000 000 000 000")
     StrngNum_2 = Mid(WhatsNumber, PosDot + 1)
     PosDec = Len(StrngNum_2)
End If
     WorkNumber = Split(StrngNum_1)

For iLoop = 1 To UBound(WorkNumber)
     If WorkNumber(iLoop) <> "000" Then
     NumInt = NumInt & String_1(Left(WorkNumber(iLoop), 1)) & String_2(Right(WorkNumber(iLoop), 2)) & CommaNumbr(iLoop)
     End If
Next

If NumInt = "" Then
     NumInt = "Zero Dollar"
Else
     NumInt = NumInt & " Dollars "
End If

     If PosDot = 0 Then
          NUM2DOLLAR = NumInt
     Else
          If PosDec = 1 Then
                    NUM2DOLLAR = NumInt & " and " & String_2(StrngNum_2 & "0") & " Cents "
          ElseIf PosDec = 2 Then
                    NUM2DOLLAR = NumInt & " and " & String_2(StrngNum_2) & " Cents "
          Else
               DecCent = Left(StrngNum_2, 2)
               If DecCent = "00" Then
                    NumDec = String_2(DecCent) & " NoCent "
               Else
                    NumDec = String_2(DecCent) & " Cents and"
               End If
               For iLoop = 3 To PosDec
                    If Mid(StrngNum_2, iLoop, 1) = "0" Then
                    NumDec = NumDec & " Zero"
                    Else
                    NumDec = NumDec & " " & String_3(Mid(StrngNum_2, iLoop, 1))
                    End If
               Next
                    NumDec = NumDec & " "
                    NUM2DOLLAR = NumInt & " and " & NumDec
          End If
     End If
     
     NUM2DOLLAR = RTrim(Replace(NUM2DOLLAR, "  ", " "))
If MoneyType <> "Dollar" Then
     NUM2DOLLAR = Replace(NUM2DOLLAR, "Dollar", MoneyType & "'")
     'If Want "francs" Instead of "franc's" then
     'Use This
     'NUM2Dollar = Replace(NUM2Dollar, "Dollar", MoneyType)
End If
     NUM2DOLLAR = NUM2DOLLAR & "."
End Function         ' ___ 모듈 종료

Function String_1(MyString As String) ' 100's Number' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date :
2008-09-09
If MyString <> "0" Then
     String_1 = String_3(MyString) & " Hundred "
End If
End Function         ' ___ 모듈 종료

Function String_2(MyString As String) ' 10's Number (20-90)' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date :
2008-09-09
Select Case Left(MyString, 1)
     Case "1"
          String_2 = String_21(MyString)
          Exit Function
     Case "2": String_2 = "Twenty ":    Case "3": String_2 = "Thirty "
     Case "4": String_2 = "Forty ":     Case "5": String_2 = "Fifty "
     Case "6": String_2 = "Sixty ":     Case "7": String_2 = "Seventy "
     Case "8": String_2 = "Eighty ":    Case "9": String_2 = "Ninety "
End Select
          String_2 = String_2 & String_3(Right(MyString, 1))
End Function         ' ___ 모듈 종료

Function String_21(MyString As String) ' 10-19's Number' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date :
2008-09-09
Select Case MyString
     Case "10": String_21 = "Ten":      Case "11": String_21 = "Eleven"
     Case "12": String_21 = "Twelve":   Case "13": String_21 = "Thirteen"
     Case "14": String_21 = "Fourteen": Case "15": String_21 = "Fifteen"
     Case "16": String_21 = "Sixteen":  Case "17": String_21 = "Seventeen"
     Case "18": String_21 = "Eighteen": Case "19": String_21 = "Nineteen"
End Select
End Function         ' ___ 모듈 종료

Function String_3(MyString As String) ' 1-9's Number' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date :
2008-09-09
Select Case MyString
     Case "1": String_3 = "One":        Case "2": String_3 = "Two"
     Case "3": String_3 = "Three":      Case "4": String_3 = "Four"
     Case "5": String_3 = "Five":       Case "6": String_3 = "Six"
     Case "7": String_3 = "Seven":      Case "8": String_3 = "Eight"
     Case "9": String_3 = "Nine"
End Select
End Function         ' ___ 모듈 종료
첨부파일
  
Posted by 오즈맨스머프


 [ 여러 영역의 문자열 합치기 (STRJOIN) ] 에 대해 알아봅니다.
   --->
   예제 - 1 STRJOIN (문자(영역)1, 문자(영역)2,...)
   기본연결문자 = ,
   예제 - 2 STRJOIN (문자(영역)1, 문자(영역)2, ..., 연결문자)
 
10 
11 
12 
13 
14 
15 
16 
17 
A B C D E
길동 2008년12월31일 /
삼순 0.12
태한 a
연습 b
길동,2008년12월31일,/,삼순,0.12,태한,a,연습,b
       기본 값 "," 으로 연결됩니다.
길동,2008년12월31일,/,삼순,태한,연습
       기본 값 "," 으로 연결됩니다.
길동,2008년12월31일,삼순,0.12,연습,/
       기본 값 "," 으로 연결됩니다.
길동/2008년12월31일/삼순/0.12/연습
       사용자 지정문자 "/" 로 연결됩니다.
길동 2008년12월31일 삼순 0.12 연습
       사용자 지정문자 " " 로 연결됩니다.
길동 , 2008년12월31일 , 삼순 , 0.12 , 연습
       사용자 지정문자 " , " 로 연결됩니다.


StrMix
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 A6 =STRJOIN(A1:E4) 길동,2008년12월31일,/,삼순,0.12,태한,a,연습,b
2 A8 =STRJOIN(1:1,A2:A4) 길동,2008년12월31일,/,삼순,태한,연습
3 A10 =STRJOIN(A1:C2,A4,E1) 길동,2008년12월31일,삼순,0.12,연습,/
4 A12 =STRJOIN(A1:C2,A4,TEXT(E1,"#")) 길동/2008년12월31일/삼순/0.12/연습
5 A14 =STRJOIN(A1:C2,A4," ") 길동 2008년12월31일 삼순 0.12 연습
6 A16 =STRJOIN(A1:C2,A4," , ") 길동 , 2008년12월31일 , 삼순 , 0.12 , 연습

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Option Explicit

Function STRJOIN(ParamArray VariantR())
Dim i As Double, j As Double
Dim AddStr     As String
Dim MaxB       As Double
Dim AnsS()     As String
Dim ChkStrN    As Double
     MaxB = UBound(VariantR)

If TypeName(VariantR(MaxB)) = "RangeThen
     AddStr = Chr(65000) & "," & Chr(65000)
Else
     AddStr = Chr(65000) & VariantR(MaxB) & Chr(65000)
     MaxB = MaxB - 1
End If

ReDim AnsS(MaxB) As String
     ChkStrN = Len(AddStr)
Dim r As Range
For i = 0 To MaxB
     If TypeName(VariantR(i)) = "RangeThen
     If VariantR(i).Count > 1 Then
          Set r = VariantR(i)
          AnsS(i) = MVV(r, AddStr)
          Else
          AnsS(i) = VariantR(i)
          End If
     Else
          AnsS(i) = VariantR(i)
     End If
Next
     STRJOIN = Join(AnsS, AddStr)
If InStr(STRJOIN, AddStr) = 1 Then
STRJOIN = Mid(STRJOIN, ChkStrN + 1)
ElseIf Right(STRJOIN, ChkStrN) = AddStr Then
STRJOIN = Left(STRJOIN, Len(STRJOIN) - ChkStrN)
End If
     STRJOIN = Replace(STRJOIN, Chr(65000), "")
End Function

Function MVV(tmpV As Range, tmpStr As String)
Dim ii As Double
Dim jj As Double
Dim kk As Double
Dim LB1 As Double, LB2 As Double
Dim AnsY
LB1 = tmpV.Rows.Count
LB2 = tmpV.Columns.Count
ReDim AnsY(1 To 1)
     For ii = 1 To LB1
     For jj = 1 To LB2
          If CStr(tmpV(ii, jj)) <> "" Then
               kk = kk + 1
               ReDim Preserve AnsY(1 To kk)
               AnsY(kk) = tmpV(ii, jj).Text
          End If
     Next
     Next
MVV = Join(AnsY, tmpStr)
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요
Posted by 오즈맨스머프


 [ 2007 의 SUMIFS 를 대신하는 SUMIFS2003 ] 에 대해 알아봅니다.
   SUMIFS2003(합계영역, 영역,조건, 영역,조건, 영역,조건...) 으로 입력합니다.
 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
A B C G H I
성명 출장지 수당 조건1 조건2 조건3
길동이 서울 100 길동이 서울 200
삼순이 부산 110 합계 비교결과
만식이 제주 120 320 320 TRUE
꺽정이 서울 130 320 320 TRUE
길동이 부산 140 0 0 TRUE
삼순이 제주 150 500 500 TRUE
만식이 서울 160 500 500 TRUE
꺽정이 부산 170 0 0 TRUE
길동이 제주 180 460 460 TRUE
삼순이 서울 190 460 460 TRUE
만식이 부산 200 0 0 TRUE
꺽정이 제주 210 320 320 TRUE
길동이 서울 220 320 320 TRUE
삼순이 부산 230 420 420 TRUE
꺽정이 부산 290 420 420 TRUE
2600


Ifs_K
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 C26 =SUM(C11:C25) 2600
2 G13 =SUMPRODUCT(($A$11:$A$25=G11)*($B$11:$B$25=H11),$C$11:$C$25) 320
3 G14 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25="서울"),$C$11:$C$25) 320
4 G15 =SUMPRODUCT(($A$11:$A$25="=G11")*($B$11:$B$25="=H11"),$C$11:$C$25) 0
5 G16 =SUMPRODUCT(($A$11:$A$25=G11)*($B$11:$B$25>=H11),$C$11:$C$25) 500
6 G17 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25>="서울"),$C$11:$C$25) 500
7 G18 =SUMPRODUCT(($A$11:$A$25="=G11")*($B$11:$B$25>="=H11"),$C$11:$C$25) 0
8 G19 =SUMPRODUCT(($A$11:$A$25=G11)*($B$11:$B$25< =H11),$C$11:$C$25) 460
9 G20 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25< ="서울"),$C$11:$C$25) 460
10 G21 =SUMPRODUCT(($A$11:$A$25="=G11")*($B$11:$B$25< ="=H11"),$C$11:$C$25) 0
11 G22 =SUMPRODUCT(($A$11:$A$25=G11)*($B$11:$B$25< >H11),$C$11:$C$25) 320
12 G23 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25< >"서울"),$C$11:$C$25) 320
13 G24 =SUMPRODUCT(($A$11:$A$25=G11)*($C$11:$C$25< =200),$C$11:$C$25) 420
14 G25 =SUMPRODUCT(($A$11:$A$25=G11)*($C$11:$C$25< =I11),$C$11:$C$25) 420
15 H13 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,G11,$B$11:$B$25,H11) 320
16 H14 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"길동이",$B$11:$B$25,"서울") 320
17 H15 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"=G11",$B$11:$B$25,"=H11") 0
18 H16 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,G11,$B$11:$B$25,">="&H11) 500
19 H17 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"길동이",$B$11:$B$25,">=서울") 500
20 H18 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"=G11",$B$11:$B$25,">="&"H11") 0
21 H19 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,G11,$B$11:$B$25,"< ="&H11) 460
22 H20 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"길동이",$B$11:$B$25,"< =서울") 460
23 H21 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"=G11",$B$11:$B$25,"< ="&"H11") 0
24 H22 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,G11,$B$11:$B$25,"< >"&H11) 320
25 H23 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"길동이",$B$11:$B$25,"< >서울") 320
26 H24 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,G11,$C$11:$C$25,"< =200") 420
27 H25 =SUMIFS2003($C$11:$C$25,$A$11:$A$25,"길동이",$C$11:$C$25,"< ="&I11) 420
28 I13 =G13=H13 TRUE
29   I13  셀의 수식을 여기에 복사하세요 -→ I13:I25

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.
   ※ 만일 수식에 사용된 공백때문에 오류(다른 값)가 나오면 공백을 확인바랍니다.


2007 의 SUMIFS 를 대신하는 SUMIFS2003
SUMIFS2003(합계영역, 영역,조건, 영역,조건, 영역,조건...) 으로 입력합니다.

Function SUMIFS2003(sumarr As Range, ParamArray var() As Variant)
On Error Resume Next
Dim i7 As Double, LB As Double, UB As Double
Dim adr As Variant
     LB = LBound(var)
     UB = UBound(var)
If UB Mod 2 = 0 Then
     SUMIFS2003 = "Sum / Condition1,2 / 3,4"
     Exit Function
End If
ReDim adr(LB To UB)
For i7 = LB To UB Step 2
     adr(i7) = RT(var(i7), var(i7 + 1))
Next
     adr(0) = RT(sumarr, "") & adr(0)
     
SUMIFS2003 = "=SUMPRODUCT(--(" & Join(adr, "),--(") & ")"
For i7 = LB To UB
     SUMIFS2003 = Replace(SUMIFS2003, "--(),", "")
Next
     SUMIFS2003 = Replace(SUMIFS2003, ",--()", ")")
     SUMIFS2003 = Application.Evaluate(SUMIFS2003)
End Function


Function RT(vv, cc)
On Error Resume Next
RT = Application.Evaluate(cc)
If CStr(cc) = "" Then
          RT = "" & vv.Address(External:=True) & "),--("
Else
     If Not (IsError(RT)) Then
          If IsEmpty(RT) Then
               RT = vv.Address(External:=True) & "=""" & cc & """"
          ElseIf IsNumeric(RT) Then
               RT = vv.Address(External:=True) & "=" & cc
          ElseIf IsDate(RT) Then
               RT = vv.Address(External:=True) & "=" & cc
          ElseIf TypeName(Range(cc)) = "Range" Then
               If IsNumeric(RT) Then
                    RT = vv.Address(External:=True) & "=" & cc
               Else
                    RT = vv.Address(External:=True) & "=""" & cc & """"
               End If
          Else
               If IsNumeric(RT) Then
                    RT = vv.Address(External:=True) & RT
               ElseIf IsDate(RT) Then
                    RT = vv.Address(External:=True) & RT
               Else
                    RT = vv.Address(External:=True) & "=""" & RT & """"
               End If
          End If
     Else
     Select Case RT
          Case CVErr(xlErrDiv0):   GoTo ers
          Case CVErr(xlErrNA):     GoTo ers
          Case CVErr(xlErrName):   GoTo ers
          Case CVErr(xlErrNull):   GoTo ers
          Case CVErr(xlErrNum):    GoTo ers
          Case CVErr(xlErrRef):    GoTo ers
          Case CVErr(xlErrValue):  GoTo ers
     End Select
     End If
End If
Exit Function
ers:
If Err.Number = 13 Then
     RT = "--(" & vv.Address(External:=True) & "),"""" & cc & """""
Else
     If IsNumeric(cc) Then
          RT = vv.Address(External:=True) & "=" & cc
     Else
          RT = vv.Address(External:=True) & GetRT(cc)
     End If
End If
End Function

Function GetRT(RTstr)
Dim RTtemp1     As String
Dim RTtemp2    As String
Dim RTLeft     As String
     RTLeft = Left(RTstr, 1)
     RTtemp1 = Mid(RTstr, 2)
     RTtemp2 = Mid(RTtemp1, 2)
If IsNumeric(RTtemp1) Then
ElseIf IsDate(RTtemp1) Then
Else
     RTtemp1 = """" & RTtemp1 & """"
End If

If IsNumeric(RTtemp2) Then
ElseIf IsDate(RTtemp2) Then
Else
     RTtemp2 = """" & RTtemp2 & """"
End If

Select Case Left(RTstr, 2)
Case ">=":     GetRT = ">=" & RTtemp2
Case "=>":     GetRT = ">=" & RTtemp2
Case "<=":     GetRT = "<=" & RTtemp2
Case "=<":     GetRT = "<=" & RTtemp2
Case "<>":     GetRT = "<>" & RTtemp2
Case Else
     Select Case RTLeft
     Case "=": GetRT = "=" & RTtemp1
     Case ">": GetRT = ">" & RTtemp1
     Case "<": GetRT = "<" & RTtemp1
     Case Else
          If IsNumeric(RTstr) Then
               GetRT = "=" & RTstr
          Else
               GetRT = "=""" & RTstr & """"
          End If
     End Select
End Select
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요
Posted by 오즈맨스머프


 [ 2007 의 COUNTIFS 를 대신하는 COUNTIFS2003 ] 에 대해 알아봅니다.
   COUNTIFS2003(영역,조건, 영역,조건, 영역,조건...) 으로 입력합니다.
 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
A B C D E F
성명 출장지 수당 조건1 조건2 조건3
길동이 서울 100 길동이 서울 200
삼순이 부산 110 개수 비교결과
만식이 제주 120 2 2 TRUE
꺽정이 서울 130 2 2 TRUE
길동이 부산 140 0 0 TRUE
삼순이 제주 150 3 3 TRUE
만식이 서울 160 3 3 TRUE
꺽정이 부산 170 0 0 TRUE
길동이 제주 180 3 3 TRUE
삼순이 서울 190 3 3 TRUE
만식이 부산 200 0 0 TRUE
꺽정이 제주 210 2 2 TRUE
길동이 서울 220 2 2 TRUE
삼순이 부산 230 3 3 TRUE
꺽정이 부산 290 3 3 TRUE
2600


Ifs_K
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 C26 =SUM(C11:C25) 2600
2 D13 =SUMPRODUCT(($A$11:$A$25=D11)*($B$11:$B$25=E11)) 2
3 D14 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25="서울")) 2
4 D15 =SUMPRODUCT(($A$11:$A$25="=D11")*($B$11:$B$25="=E11")) 0
5 D16 =SUMPRODUCT(($A$11:$A$25=D11)*($B$11:$B$25>=E11)) 3
6 D17 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25>="서울")) 3
7 D18 =SUMPRODUCT(($A$11:$A$25="=D11")*($B$11:$B$25>="=E11")) 0
8 D19 =SUMPRODUCT(($A$11:$A$25=D11)*($B$11:$B$25< =E11)) 3
9 D20 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25< ="서울")) 3
10 D21 =SUMPRODUCT(($A$11:$A$25="=D11")*($B$11:$B$25< ="=E11")) 0
11 D22 =SUMPRODUCT(($A$11:$A$25=D11)*($B$11:$B$25< >E11)) 2
12 D23 =SUMPRODUCT(($A$11:$A$25="길동이")*($B$11:$B$25< >"서울")) 2
13 D24 =SUMPRODUCT(($A$11:$A$25=D11)*($C$11:$C$25< =200)) 3
14 D25 =SUMPRODUCT(($A$11:$A$25=D11)*($C$11:$C$25< =F11)) 3
15 E13 =COUNTIFS2003($A$11:$A$25,D11,$B$11:$B$25,E11) 2
16 E14 =COUNTIFS2003($A$11:$A$25,"길동이",$B$11:$B$25,"서울") 2
17 E15 =COUNTIFS2003($A$11:$A$25,"=D11",$B$11:$B$25,"=E11") 0
18 E16 =COUNTIFS2003($A$11:$A$25,D11,$B$11:$B$25,">="&E11) 3
19 E17 =COUNTIFS2003($A$11:$A$25,"길동이",$B$11:$B$25,">=서울") 3
20 E18 =COUNTIFS2003($A$11:$A$25,"=D11",$B$11:$B$25,">="&"E11") 0
21 E19 =COUNTIFS2003($A$11:$A$25,D11,$B$11:$B$25,"< ="&E11) 3
22 E20 =COUNTIFS2003($A$11:$A$25,"길동이",$B$11:$B$25,"< =서울") 3
23 E21 =COUNTIFS2003($A$11:$A$25,"=D11",$B$11:$B$25,"< ="&"E11") 0
24 E22 =COUNTIFS2003($A$11:$A$25,D11,$B$11:$B$25,"< >"&E11) 2
25 E23 =COUNTIFS2003($A$11:$A$25,"길동이",$B$11:$B$25,"< >서울") 2
26 E24 =COUNTIFS2003($A$11:$A$25,D11,$C$11:$C$25,"< =200") 3
27 E25 =COUNTIFS2003($A$11:$A$25,"길동이",$C$11:$C$25,"< ="&F11) 3
28 F13 =D13=E13 TRUE
29   F13  셀의 수식을 여기에 복사하세요 -→ F13:F25

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.
   ※ 만일 수식에 사용된 공백때문에 오류(다른 값)가 나오면 공백을 확인바랍니다.


2007 의 COUNTIFS 를 대신하는 COUNTIFS2003
COUNTIFS2003(영역,조건, 영역,조건, 영역,조건...) 으로 입력합니다.

Function COUNTIFS2003(ParamArray var() As Variant)
On Error Resume Next
Dim i7 As Double, LB As Double, UB As Double
Dim adr As Variant
     LB = LBound(var)
     UB = UBound(var)
If UB Mod 2 = 0 Then
     COUNTIFS2003 = "Condition1,2 / 3,4"
     Exit Function
End If
ReDim adr(LB To UB)
For i7 = LB To UB Step 2
     adr(i7) = RT(var(i7), var(i7 + 1))
Next
     
COUNTIFS2003 = "=SUMPRODUCT(--(" & Join(adr, "),--(") & ")"
For i7 = LB To UB
     COUNTIFS2003 = Replace(COUNTIFS2003, "--(),", "")
Next
     COUNTIFS2003 = Replace(COUNTIFS2003, ",--()", ")")
     COUNTIFS2003 = Application.Evaluate(COUNTIFS2003)
End Function



Function RT(vv, cc)
On Error Resume Next
RT = Application.Evaluate(cc)
If CStr(cc) = "" Then
          RT = "" & vv.Address(External:=True) & "),--("
Else
     If Not (IsError(RT)) Then
          If IsEmpty(RT) Then
               RT = vv.Address(External:=True) & "=""" & cc & """"
          ElseIf IsNumeric(RT) Then
               RT = vv.Address(External:=True) & "=" & cc
          ElseIf IsDate(RT) Then
               RT = vv.Address(External:=True) & "=" & cc
          ElseIf TypeName(Range(cc)) = "Range" Then
               If IsNumeric(RT) Then
                    RT = vv.Address(External:=True) & "=" & cc
               Else
                    RT = vv.Address(External:=True) & "=""" & cc & """"
               End If
          Else
               If IsNumeric(RT) Then
                    RT = vv.Address(External:=True) & RT
               ElseIf IsDate(RT) Then
                    RT = vv.Address(External:=True) & RT
               Else
                    RT = vv.Address(External:=True) & "=""" & RT & """"
               End If
          End If
     Else
     Select Case RT
          Case CVErr(xlErrDiv0):   GoTo ers
          Case CVErr(xlErrNA):     GoTo ers
          Case CVErr(xlErrName):   GoTo ers
          Case CVErr(xlErrNull):   GoTo ers
          Case CVErr(xlErrNum):    GoTo ers
          Case CVErr(xlErrRef):    GoTo ers
          Case CVErr(xlErrValue):  GoTo ers
     End Select
     End If
End If
Exit Function
ers:
If Err.Number = 13 Then
     RT = "--(" & vv.Address(External:=True) & "),"""" & cc & """""
Else
     If IsNumeric(cc) Then
          RT = vv.Address(External:=True) & "=" & cc
     Else
          RT = vv.Address(External:=True) & GetRT(cc)
     End If
End If
End Function

Function GetRT(RTstr)
Dim RTtemp1     As String
Dim RTtemp2    As String
Dim RTLeft     As String
     RTLeft = Left(RTstr, 1)
     RTtemp1 = Mid(RTstr, 2)
     RTtemp2 = Mid(RTtemp1, 2)
If IsNumeric(RTtemp1) Then
ElseIf IsDate(RTtemp1) Then
Else
     RTtemp1 = """" & RTtemp1 & """"
End If

If IsNumeric(RTtemp2) Then
ElseIf IsDate(RTtemp2) Then
Else
     RTtemp2 = """" & RTtemp2 & """"
End If

Select Case Left(RTstr, 2)
Case ">=":     GetRT = ">=" & RTtemp2
Case "=>":     GetRT = ">=" & RTtemp2
Case "<=":     GetRT = "<=" & RTtemp2
Case "=<":     GetRT = "<=" & RTtemp2
Case "<>":     GetRT = "<>" & RTtemp2
Case Else
     Select Case RTLeft
     Case "=": GetRT = "=" & RTtemp1
     Case ">": GetRT = ">" & RTtemp1
     Case "<": GetRT = "<" & RTtemp1
     Case Else
          If IsNumeric(RTstr) Then
               GetRT = "=" & RTstr
          Else
               GetRT = "=""" & RTstr & """"
          End If
     End Select
End Select
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요
Posted by 오즈맨스머프


 [ VALUE 함수 , N 함수 , *1 방법 , SUMPRODUCT(--( 비교 ] 에 대해 알아봅니다.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
A B C D E
1000 날짜 2008년 3월
0.2 2008-03/18 데이터 개수
#VALUE! 2008-02/12
#VALUE! 2008-03/11 0
7 2008-02/05
1000 TRUE 2008-03/30 7
0.2 TRUE 2008-02/07
#VALUE! TRUE 2008-03/12 #VALUE!
1 TRUE 2008-02/09
7 TRUE 2008-03/02 7
0 0 2008-02/19
0 합계=0 2008-02/07 7
0 2008-03/31
1 2008-02/10
7 2008-03/09
조건의 결과 혹은 텍스트문 자열을 숫자로 바꿀때
부득이하게 sumproduct 에 하나의 인수를 사용할 경우 등
조건만족의 결과의 합은 그냥 구할 수는 없습니다
방법1 Value 함수 사용
오직 텍스트 문자열을 숫자로 변환합니다.
방법2 곱하기 1  [  *1  ]
인식 가능한 텍스트 문자열을 숫자로 변환합니다.
논리값을 1/0 으로 인식한 다음 셈을 합니다
방법3 N 함수 사용
숫자로 변환된 값을 표시합니다.
인식 가능한 텍스트 문자열도 인식못할 수 있습니다.
방법4 SUMPRODUCT(--(조건),--(조건),--(조건))
인식 가능한 텍스트 문자열을 숫자로 변환합니다.
논리값을 1/0 으로 인식한 다음 셈을 합니다
방법 2 , 3 보다는 방법 4 가 속도가 조금 더 빠릅니다.


Sheet2
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 A1 =VALUE("\1,000") 1000
2 A2 =VALUE("16:48:00")-VALUE("12:00:00") 0.2
3 A3 =VALUE("true") #VALUE!
4 A4 =VALUE(TRUE) #VALUE!
5 A5 =VALUE(7) 7
6 A6 ="\1,000"*1 1000
7 A7 ="16:48:00"*1-"12:00:00"*1 0.2
8 A8 ="true"*1 #VALUE!
9 A9 =TRUE*1 1
10 A10 =7*1 7
11 A11 =N("\1,000") 0
12 A12 =N("16:48:00")-N("12:00:00") 0
13 A13 =N("true") 0
14 A14 =N(TRUE) 1
15 A15 =N(7) 7
16 B6 =1=1 TRUE
17   B6  셀의 수식을 여기에 복사하세요 -→ B6:B10
18 B11 =SUM(B6:B10) 0
19 D4 =SUMPRODUCT((TEXT(C2:C15,"yyyymm")="200803")) 0
20 D6 =SUMPRODUCT((TEXT(C2:C15,"yyyymm")="200803")*1) 7
21 D8 =SUMPRODUCT(VALUE(TEXT(C2:C15,"yyyymm")="200803")) #VALUE!
22 D10 =SUMPRODUCT(N(TEXT(C2:C15,"yyyymm")="200803")) 7
23 D12 =SUMPRODUCT(--(TEXT(C2:C15,"yyyymm")="200803")) 7

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.  
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Posted by 오즈맨스머프


 [ 2007 의 IFERROR 를 대신하는 IFERROR2003 ] 에 대해 알아봅니다.
   =IF(수식,오류일때,수식) 을 =IFERROR2003(수식,오류일때) 로 사용 가능합니다.
 
A B C D E F
성명 연락처 찾기 결과
길동이 101 길동이 101 101
삼순이 304 만수 없음 없음
만식이 502 삼순이 304 304


Sheet3
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No 셀주소 왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과 수식을
1 E2 =IF(ISERROR(VLOOKUP(D2,$A$2:$B$4,2,0)),"없음",VLOOKUP(D2,$A$2:$B$4,2,0)) 101
2   E2  셀의 수식을 여기에 복사하세요 -→ E2:E4
3 F2 =IFERROR2003(VLOOKUP(D2,$A$2:$B$4,2,0),"없음") 101
4   F2  셀의 수식을 여기에 복사하세요 -→ F2:F4

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.

Function IFERROR2003(WriteFormula, WriteAnswer)
Dim Answ As Variant
On Error Resume Next
Answ = Application.Evaluate(WriteFormula)
If Not (IsError(Answ)) Then
     IFERROR2003 = Answ
Else
Select Case Answ
     Case CVErr(xlErrDiv0):   IFERROR2003 = WriteAnswer
     Case CVErr(xlErrNA):     IFERROR2003 = WriteAnswer
     Case CVErr(xlErrName):   IFERROR2003 = WriteAnswer
     Case CVErr(xlErrNull):   IFERROR2003 = WriteAnswer
     Case CVErr(xlErrNum):    IFERROR2003 = WriteAnswer
     Case CVErr(xlErrRef):    IFERROR2003 = WriteAnswer
     Case CVErr(xlErrValue):  IFERROR2003 = WriteAnswer
     Case Else:               IFERROR2003 = Answ
End Select
End If
End Function

잘 안될 경우 메일 주시거나 리플 남겨주세요
Posted by 오즈맨스머프


  안녕하세요. 오즈맨 입니다.
  배열수식의 내용을 알아봅니다.    시트명은 Korean 입니다.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
19994
19995
19996
19997
19998
19999
20000
A B C D E F G H I J K L M
1989-08/17

3955 형식1=SUMPRODUCT(--(조건))

1995-06/10

16045 형식1=SUMPRODUCT(--(조건))

1973-04/27

3955 형식2=SUMPRODUCT((조건)*1)

1963-06/13

16045 형식2=SUMPRODUCT((조건)*1)

1982-10/14

3955 형식3 배열수식=SUM(IF(조건,1,""))}

1967-01/07

16045 형식3 배열수식=SUM(IF(조건,1,""))}

1975-05/12
각 형식 별 소요시간 계산 (총 10 회)  단위 초/ % 평균
1954-01/16 형식 1 2.047 2.031 2.063 2.063 2.063 2.094 2.063 2.063 2.047 2.031 2.056
1957-01/22











1955-02/19 형식 2 2.078 2.047 2.078 2.078 2.109 2.094 2.094 2.109 2.125 2.063 2.088
1975-03/13 1과의 차이 0.031 0.016 0.016 0.016 0.047 0.000 0.031 0.047 0.078 0.031 0.031
1985-05/03 비율 1.53% 0.77% 0.76% 0.76% 2.27% 0.00% 1.52% 2.27% 3.82% 1.54% 1.52%
1956-02/24











1997-08/05 형식 3 2.172 2.219 2.203 2.188 2.250 2.203 2.172 2.172 2.203 2.203 2.198
1989-08/17 1과의 차이 0.125 0.188 0.141 0.125 0.188 0.109 0.109 0.109 0.156 0.172 0.142
1950-10/02 비율 6.11% 9.23% 6.82% 6.06% 9.09% 5.22% 5.30% 5.30% 7.63% 8.46% 6.92%
1954-06/07











1992-05/25











1958-03/01                      준비한 자료
   1949.10.30~2007.4.27 까지의 불규칙한 날짜 20,000 개
   경과기간이 50년 이하, 초과 를 구분해서 개수를 구함
   부득이하게
   하나의 조건으로 sumproduct 혹은 배열수식 sum(if( 를 사용할 경우 자료입니다
2005-02/07
1990-09/04
1972-09/25
1951-03/20
1957-10/06


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

Posted by 오즈맨스머프


시트의 내용이나 시트에 있는 수식을 설명할 때 유용한 도구입니다.
   불필요하게 예제파일을 만들지 않아도 됩니다.
Sheet2Web (시트웹)은 아래와 같이 사용됩니다.

사용자 삽입 이미지
사용자 삽입 이미지


다운로드 할 파일입니다.
둘 중 하나를 받으세요
(2008.08.31 파일 변경)
추가기능 xla 파일 Zip 압축파일

이 기능을 사용하시려면 파일을 다운로드 받으신 다음
아래의 폴더 중 한곳에 복사해서 사용하세요
C:\Program Files\Microsoft Office\Office\XLStart
C:\Program Files\Microsoft Office\Office\Library


Posted by 오즈맨스머프


시트의 내용이나 시트에 있는 수식을 설명할 때 유용한 도구입니다.
   불필요하게 예제파일을 만들지 않아도 됩니다.


다운로드 할 파일입니다.

이 기능을 사용하시려면 파일을 다운로드 받으신 다음
아래의 폴더 중 한곳에 복사해서 사용하세요
C:\Program Files\Microsoft Office\Office\XLStart
C:\Program Files\Microsoft Office\Office\Library


첨부파일을 다운로드하시면 됩니다

아래 내용은 사용하는 예제 몇가지 입니다.

여기로 업뎃 되었습니다.

이 기능을 사용하시려면 파일을 다운로드 받으신 다음
아래의 폴더 중 한곳에 복사해서 사용하세요
C:\Program Files\Microsoft Office\Office\XLStart
C:\Program Files\Microsoft Office\Office\Library


불필요한 vbe 창이 열림으로 인해 코드를 잠궜습니다.

여기로 업뎃 되었습니다.

이상이 있거나 추가할 내용이 있으면 연락주세요

다운로드 할 파일입니다.


Posted by 오즈맨스머프



채우기핸들이 잘 안될 경우 도구 메뉴의 옵션 을 선택합니다.
사용자 삽입 이미지

사용자 삽입 이미지
Posted by 오즈맨스머프


엑셀을 사용할 때
선택한 영역만
인쇄하려면

파일/인쇄 메뉴에서
선택영역으로 지정
하시면 됩니다


서로 떨어진 영역이면
페이지가 서로
구분되어 버림을
유의하세요
사용자 삽입 이미지



하나의 영역으로 선택한 다음 인쇄할 경우는
하나의 페이지에 나옵니다
떨어진 여러개의 영역으로 선택한 경우 입니다
여러개(예제는 두개)의 페이지에 나옵니다
사용자 삽입 이미지

사용자 삽입 이미지



Posted by 오즈맨스머프