반응형

 

 

Excel 에서 오래 사용한 파일을 이어받아 쓰다보면 

여기저기에서 복사되어 옮겨온 (값 붙여넣기만 하지않고 그냥 붙여넣을 경우 서식도 딸려온다) 서식들 때문에 

서식이 과도하게 많아지고 나중에는 삭제도 되지 않고 뭐만하면 오류가 나거나 다운되는 경우가 발생합니다. 

저는 과거에는 방법을 몰라서 파일을 하나 양식까지 다시 셋팅하면서 새로 만들기도 했는데요. 

아래 방법으로 해결하시면 됩니다. 다만 MS에서 제공한 오피스 내에서 해결하기보다 강제로 해결하는 방법위주라 오류가 나는 경우가 있을 수 있으니,  파일을 두개로 만들어서 (백업하고) 꼭 진행해주세요. 

 

해결책은 

1. Tool 을 사용하여 서식을 삭제하도록 함 (간편하고 빠르지만, 유료인 경우도 있고, 보통 회사에서 사외 프로그램을 설치하지 않도록 하여 사용이 불가능 할 수 있음) XLStyleTools 등 -- 외부 인터넷검색하면 많이 나온다. 

 

2. 엑셀 매크로를 이용하여 강제 서식삭제를 진행한다.  (직접 해보았는데, 어떤 경우 기존의 서식도 삭제되며 양식이 깨지는 경우가 발생) 

   1) Alt + F11 매크로 작성기에 들어감

   2) 아래 코드를 입력하고 실행함. 

Sub 셀스타일삭제()
Dim 스타일 As Style
Dim 개수 As Long
For Each 스타일 In ActiveWorkbook.Styles
If 스타일.BuiltIn = False Then
On Error Resume Next
스타일.Delete
개수 = 개수 + 1
On Error GoTo 0
End If
Next
MsgBox 개수 & "개의 불필요한 셀 스타일 제거 완료"
End Sub

3. 엑셀(XLSX)을 압축파일(ZIP)로 확장자 변경한 후, 아래 대로 진행.  -- 안되는 경우 있음.  (XLS -> ZIP 는 안됨)

   1) aaa.XLSX  --> aaa.ZIP 로 확장자 변경

   2) aaa.ZIP 의 압축해제    *압축해제 시 몇개의 폴더와 파일이 압축해제됨.  

   3) 압축해제한 폴더의 아래 위치로 들어간다. 

         (압축해제 위치) /xl/styles.xml

   4) styles.xml 를 메모장으로 연다.  (메모장을 연후에 해당 위치 불러옴) 

   5) 메모장에서 Ctrl+F (검색) 을 통해.  "cellstyles" 를 검색한다.      * 엑셀파일 서식의 처음과 끝에 각각 하나씩 나옴. 

   6) "cellstyles"  처음과 끝을 포함하여, 띄어쓰기 해준다음에    cellstyles ~ cellstyles 구간을 모두 삭제하고, 저장하고 quit 함. 

   7) 압축해제 시 파일을 다시 압축 한후,  xlsx 확장자로 변경. 

   8) (변경한 엑셀파일)  재실행. 

 

 

4. 다른이름으로 저장하여, xls <-> xlsx 간 확장자를 몇번 바꿔줘본다.  

    확장자 변경 시 오류난 서식들이 삭제되는 경우가 있음.   (단, 모든 서식이 삭제되며, 기존 파일 서식이 모두 꺠질 수 있음) 

 

 

 

개인적으로는 여러 파일에 적용해보았을떄 3번이 가장 빠르고 결과가 좋았다. 

하지만 모든 문제가 해결된건 아니었으나 도움이 되었고, 추후 참고를 위해 정리해둠. 

 

 

 

 

 

 

 

반응형
반응형

 

일반적으로 증감율을 구할때는 

 

After/Before 로 구하면 기존대비 몇퍼센트가 증가되었는지 확인할 수 있다.   모수가 기존값. 

(변경값/기존값)

 

그런데 만약 변경값이나 기존값이 마이너스일 경우에는 나누기만 할 경우, 결과가 - 로 표시된다. 

 

이때에는 

(변경값-기존값)/abs(기존값) 으로 구하면 된다. 

 

Abs는 절대값 함수로 

=abs(5) -> 5

=abs(0) -> 0

=abs(-5) -> 5 

 

이렇게 표시된다. 

 

결론적으로 변경된양/기존값으로 구할수있다. 

 

 

 

반응형
반응형

 
 
윈도우 시작표시줄 (시작버튼이 들어가있는 창이 표시되는 줄) 은 기본 가로로 일정 크기만 표시되다보니 
 
office (Excel 등) 을 열어 작업을 하다보면 파일명은 안보이고, 똑같은 문자만 여러개 보일경우가 많다.
 
시작표시줄에 불필요한 문구를 지우고 필요한 부분만 보이게 하고 싶은데 잘 정리된 글을 보기 어려웠다. 
 
 

3개나 열어놓은 엑셀창의 이름이 하나도 안보인다

 
 
 
"Microsoft Excel - 이름없음"
이면 "이름없음" 이 안보이고,, 앞에부분만.. 
 

이걸 없애야 한다

 
 
시작표시줄 또는 검색을 누른뒤 (또는 실행에서) 
 
regedit 를 입력 -> 레지스트리 편집기로 들어간다. 
 
그리고 "\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft " 의 주소에 창을 위치해 놓는다. 
(LOCAL MACHINE 에서 SOFTWARE 에서 마이크로소프트로 잘 눌러놨는지 본다.. 다른 곳을 클릭해놓으면 검색하느라고 오래 걸린다) 
 
Ctrl + F 를 눌러서 특정단어를 찾는다.   검색어는 "excelname" 
컴퓨터 마다 다르겠지만, 위 순서대로 진행했을 경우 5분 정도면 첫번쨰 찾은 값이 나온다. 
잘보면 EXCELNAME,  POWERPOINTNAME 등으로 이름을 표시해주는 값이 2~3곳 보인다. (첫번째값을 찾으면 바꿔놓고, 엑셀을 모두 껏다가 켠다음 이름이 잘뜨나본다. 안되면 다음값을 추가로 찾는다. )
 
 
 
[변경전]

 
 
[변경후]
(엑셀, 파워포인트, 워드, 원노트 등의 이름을 지웠다)

 
 
 
 
1번째 찾은 레지스트리값을 몇개 지워줬는데 엑셀을 켜보니 아직 그대로이다. 
 
두번째 값도 찾아서 지우고 다시 켜본다.. 
 
정리 완료. 
 
 

 
 


최근에보니 office 365 (구독제품) 에서는 개선되어
파일명- excel <—- 이런식으로 표시된다. 단 속도는 좀 버벅임.
 

반응형
반응형

 

 

엑셀에서 날짜 계산할때 보통 A-B 를 하는 편입니다. 

 

간단히는 그렇게 해도 되는데, 몇개월이 지난건지, 몇년이 지난건지 계산하려면 좀 번거로울때가 있어요. 

 

아래와 같이 지나간날을 계산하는 함수를 사용해봅시다. 

 

 

DATED IF 

=datedif 함수인데요. 

 

사용법은 

 

 

                       =datedif(시작일,현재일,조건)    의 순서로 사용하면 됩니다. 

 

1) 시작일은 더 과거의 일자. 라서 햇갈리지 않게 시작일로 명명 했고, 

2) 현재일은 과거일보다 더 늦은 일자를 적어주면 됩니다. 

3) 조건은 day/month/year 계산 및 몇년이 지난후 몇달이 지났는지 등 계산이 가능합니다. 

 

 

 

아래와 같이 해보세요..

 

몇일을 계산할때는 빼기가 편한것 같은데, 몇개월, 몇년은 위 방식이 편한것 같다. 

 

 

응용하면, 

몇일 계산 후에, 나누기 7을 해서 weekly 계산도 가능합니다. 

 

 

 

 

그리고 "ym" 조건은 full year 가 지난 후, 남은 개월수를 계산합니다

(1/10 -> 2/9 로 일자 차이일 경우, 1개월이 10일이 돌아오지 않았으므로, 1개월이 안되어 0 이 반환되고, 

1/10 ->. 2/10 이 되면, 1개월이 full 로 만족됐으므로 1이 반환됩니다) 

 

 

위에줄은 10일이 되지 않아 1개월만 반환됐고, 아래줄은 10일이 되어 2개월 full로 2개월 표시됨. 

 

 

 

 

마지막으로 응용해봅시다. 

 

 

 

반응형
반응형

 

엑셀뿐만아니라 다른 프로그램에서도 거의 동일하게 사용되는 편이니 알아두시면 편할것 같네요. 

 

예전에 dos 를 사용할때도 중간에 특별한 단어가 들어가면 *aaa* 로 검색을 하곤 했었죠. 앞뒤 문자는 관계없이 (다만 앞뒤문자가 있는것들 중에, 가운데 aaa 가 들어간 파일을 찾을떄)

 

 

엑셀에 주요  와일드카드는 아래 3개 정도 인데요. 

 

1) ?   .... 물음표

2) *   ..... 별표

3) ~  ..... 물결

 

 

 

각자 용도는 

 

1) ?   는 물음표 1개마다 문자 1개를 대체합니다. 

 

 

예) 과거친구이름 : 김갑수, 황동구, 동시내, 김동희, 홍길동

 

오랜만에 친구를 봤는데, 친구이름이 생각이 안납니다. 끝에 "동" 으로 끝났던거 같은데, 

저장된 파일을 검색을 합니다.   근데 Ctrl+F 하고, "동" 으로 검색해버리면 

"동" 이 앞이나 가운데 들어간 이름들까지 검색이 됩니다. 

 

그럼 Ctrl+F 하고,   "??동" 으로 검색해보면,    xx동   으로 구조가 되있는 이름만 검색이 됩니다. 

(동 뒤에 다른 글자는 없고, 동 앞에는 2개의 글자가 있습니다) 

 

 

 

두번째는 *   별표 사용법입니다. 

 

 

"은하철도구구구" 

"은하철도팔팔팔"

"철도원영화"

"경찰청쇠창살" 

 

이런 단어들이 있는데요. 

 

"원영" 이라는 단어가 중간에 들어간 걸 검색하고 싶은데, 앞/뒤 몇글자인지 모릅니다. 아니면 글자가 많아서 물음표를 치기가 힘들거나요. 

 

*원영*  으로 검색해줍니다. 

(만약 *원영  으로 키워드를 사용할 경우, 원영 뒤에는 아무런 문자가 없다고 인식되어, "철도원영화" 는 검색되지 않습니다)

 

 

 

 

세번째는 물결 (~) 의 사용법인데, 

엑셀에서 정리된 파일들에도 별표나 물음표가 사용될텐데, 

해당단어를 검색하거나 조작할 필요가 있을수도 있습니다. 

 

 

식당 리스트중에 맛집은 "*" 로 표시했다고 합니다.

 

이렇게 되어있는데, "*" 로 그냥 검색을 해주면 모든 단어가 검색이 됩니다. 

 

 

그런데 아래와 같이 *를 와일드카드가 아닌 문자로 하여 검색이 가능합니다. 

 

하마터면 맛집을 못찾을뻔했다. 

 

 

 

 

물결은 와일드카드가 아니라 함수로 쓰이는 문자를 일반문자로 바꿔주는 키이다. 

 

반응형
반응형

엑셀수식이 길어질 경우 중간에 값이 뭐가 나오는지 어디가 잘못됐는지 햇갈릴때가 있다. 

 

=iferror(if(A5>0,vlookup(A5,E5:J100,3,1),vlookup(B5,E5:J100,3,1)),0)

 

대충 위와같은식인게 다른종류로 몇몇 입력하다 보면,, 

아니면 sumif 등이나 sumproduct 등이 여러 구간이 합쳐져 있을때 

 

그럴땐 해당 수식 수정상태에서 특정 text만 블럭 지정하고 "F9" 를 눌러서 중간 계산값을 확인해본다. 

 

=iferror(if(A5>0,vlookup(A5,E5:J100,3,1),vlookup(B5,E5:J100,3,1)),0)

 위에 블럭을 씌우고 F9 

 

그러면 아래와 같이 뜬다. 아래는 간단히 예를들었다. 

 

 

 

 

이렇게 구간을 지정하여 sum을 하는데, 

 

 

 

B31:B34 의 각 값의 중간 계산값 확인이 필요할 경우, 

 

 

이렇게 해당 위치만 블럭을 씌운 후, 

 

 

 

 

F9 를 클릭하게 되면 중간 계산값 (또는 위치의 값을 불러올 경우는 값이 뜬다) 이 뜬다. 

 

 

 

 

중간계산값의 예는 아래와 같이 하면 될것 같다. 

 

 

 

 

 

계산 순서대로 하면, 1+2+3+4 = 3+3+4 = 6+4 = 10 이 된다. 

 

 

 

 

 

그럼 이렇게 중간에 블럭을 씌워서 F9를 누르면

 

이렇게 하면 

 

 

 

이렇게 하면 B31+B32 부분의 중간계산값인 "3" 으로 출력되어 보여진다. 다음 계산은 3+B33+B34

 

 

 

감사합니다~~~~ 

반응형
반응형

 

VBA 는 엑셀에서 하기 어려운 부분을 사용자가 보다 편하게 사용할 수 있도록 만든 장치이다. 

일종의 프로그래밍을 엑셀에서 하는 장치이고, 엑셀에서 이미 만들어진 기능을 클릭이나 단축키로만 사용하기보다는 어렵지만, 다소 어렵더라도 더 많은 기능을 사용할 수 있다는데서 장점이 있다. 

 

우선 엑셀을 켠 후, Alt + F11 을 누르면 VBA 화면에 진입하게 된다. 

좌측 상/하단은 VBA 설정 부분이다.

 

코딩을 할수 있는 영역도 불러와야되니까, 

처음 "Alt + F11" 을 눌러 진입했으면, 

Alt+I+M 을 눌러 메뉴의 삽입-모듈 을 불러온다.  그러면 우측에 글자 입력이 가능한 하얀 창이 뜬다.. 거기가 코딩창이다. 

 

코딩창에서, 

메뉴의 삽입(i) - 프로시저(p) 를  눌러 기본구문을 불러온다. 

이름은 아무거나 친다.

 

그리고 거기서부터 시작하면 된다. 

 

 

 

 

=

 


Public Sub a()

End Sub

 

 

 

반응형
반응형



보통..

F5 클릭 -> alt + s -> alt +y (보이는 셀만 선택)

한뒤에 복사할 셀을 복사함.


더 간단히...

ALT + ;
바로 보이는셀만 선택됨.




위의 F5 클릭 후 들어간 옵션에서는
빈공간만 선택 등도 가능하다.

빈공간만 선택할 경우 빈공간의 값을
위 의 글자로 =바로위셀
등을 선택해서 바로 빈칸채우기도 가능하다.


--------

보이는셀만 선택 복사할 경우, 

필터가 있거나 없는 표에 붙여넣게 된다. 

 

필터가 없을 경우엔 순서대로 쭉 붙여넣으면 되니,, 그냥 붙여넣으면 되는데. 

 

필터가 있는 경우는 

예를들어 5줄을 붙여넣더라도 줄 중간에 띄어진 줄이 있다면 보이는곳만 선택을 하더라도 첫줄만 복사/붙여넣기가 된다. 

 

그럴경우엔 특별한 방법이 있는것 같진 않고 아래 방법을 써본다. 

 

1번케이스

1) 기존 붙여넣을 표를 순서대로 유지하기 위해, 번호를 매긴다. (기존순서로) 

2) 그런후에 다시 번호매기는 줄을 추가하여, 빈공간(또는 복사해서 붙여넣을 곳만 가능 시 순서대로 매기고, 나머지는 다음번호 등으로 매겨서 사라지도록 조절) 

3) 필터를 통해 자료를 입력해야 하는 셀 (아마 비어진 곳?) 을 위로 연결되어 정렬되도록 하고, 나머지는 그 아래 배치되도록 한다.

4) 붙여넣는다. 그리고 기존 번호매기기 순서대로 재정렬한다. 

 

2번케이스

1) 해당 붙여넣을 위치가 비어있다고 가정하고, (또는 특별한 에러 메시지 등으로 표시되있다고 가정하고) 

2) 해당 입력할 곳을 추려낸다. 정렬일 경우엔 해당 위치만 보이도록 함. 

3) Hlookup 을 통해 vlookup 처럼 세로로 순서대로 매겨지도록 한다 (입력할 열만 보인 상태에서도 함수 붙여넣기는 수월하다)

 

 

 

 

 

반응형
반응형

 

네네 저도 깜짝놀랐어요 

 

사실 07버전 이후 리본메뉴에서는 Alt + H 하면 "홈" 부분이 선택되면서 키보드로 할 수 있는게 나오죠

그런데 행/열 자동맞춤은 어디있나 안보이더라구요 ㅠㅠ 

 

그래서 정리해봤습니다. 

 

 

1. 행셀 시트추가 한다음에 시트간 이동하고, 필요없으면 시트 삭제까지. 한번에. 

2. 행(가로)/열(세로) 전체 선택하고 줄 추가하고, 필요없는 줄은 삭제하고. 

    그리고 추가한열에 데이터를 입력하다가 칸을 넘어가면, 자동으로 폭과 높이 맞춤을 해줍니다~~~ 

 

데이터 선택은 참고로 넣었어요~ 데이터를 선택해야 해당영역 가로/세로 조정도 하니깐요. 

 

폭 자동맞춤 : Alt + H, O, I

높이 자동 맞춤 : Alt + H, O, A  

 

근데 사실 따라가다보면 

리본메뉴에 어디있는지 알겠죠.. 

 

"홈" 에 우측에 있는 "서식" 메뉴 안에 들어있었네요. 

 

즐거운 엑셀생활 하세요~~~ 

 

 

 

 

정리내용 참고 (아래)

 

반응형
반응형


예를 들어 
자주 업데이트하는 파일이 있고 
상단에 최종 수정일자, 시간등을 표시할 경우 
 
 
1. Ctrl + ;                --> 날짜 입력
2. Ctrl + Shift + ;      --> 시간 기입
 
*날짜와 시간 중간에 공백을 넣어야 구분이 되니, 
 
1) Ctrl+;   
2) 스페이스
3) Ctrl+Shift + ; 
 
= 오늘 날짜 및 시간이 가운데 공백과 함께 추가됨.
 
이는 현재 시점에 따라 입력되는 값으로 자동 갱신은 되지 않는다. (최종 업데이트 일자/시간 등을 표기할 경우, 편리한것 같다)
 
이와 다르게 현재 시간으로 자동갱신되는 값이 있는데, 
 
=now()    --- 현재 일자/시간 표시
=today()   ---- 현재 일자 표시 
 
위 2 값은 엑셀값의 변경이 있을때마다 (문서 re-open 또는 다른 값 변경 등) 현재 기준으로 갱신된다. 
오늘 날짜를 기준으로 만난지 몇일? 등을 계산할때 유용할거라고 생각된다. 
 
 
만약에 위처럼 Ctrl+; 및 Ctrl+shift + ; 입력하는것보다
=now() 를 입력한 후 값으로 붙여넣는게 빠를경우, 이게 더 효율적인것 같기도 하다. 
 
 
정리하자면 아래와 같다. 
 

 
 
 
 
 
이외, 오늘 일자에 대해 요일을 표시하는 함수 아래를 참고하여 하면된다. 
관련 함수는 =today, weekday, 서식의 "aaa" or "ddd" 이다. 
 
간혹보면 이런 요일함수를 몰라서 일자별로 달력을 보고 요일을 입력하는경우가 있는데, 
아래처럼 활용해보자. 
 
 
 

요일별로 토/일 요일일 경우 색깔이 자동으로 빨강색이 되도록 할수도 있다.. 조건부서식을 해도 될듯..

 
 
마지막으로 요일 표시된것에 "토" 이면 파랑색, "일"이면 빨강색으로 표기해주면 금상첨화다

반응형

+ Recent posts