엑셀에서 문자열을 합치는 방법은 2개가 있다.

1. 연산자 &을 이용 : 이게 더 편함.

2. 함수 CONCATENATE()를 이용

참고 : https://mainia.tistory.com/880

Posted by 세모아
,

적용범위에  row(행)만 넣는 경우와 row와 colume(열)을 모두 넣는 경우의 비교

Posted by 세모아
,

내가 사용하는 사례 :   =INDIRECT("'"&A34&"'"&"!F6")

A열에 있는 시트 이름 : 2021-10    <- [주의] 숫자처럼 보여서 INDIRECT()함수에 인자로 넣을때 '  ' 로 감싸주어야 한다.

------------------------------

출처 : https://sunnybong.tistory.com/67

시트이름을 변수로 설정해서 셀 값 불러오기(indirect함수)

 

Posted by 세모아
,
Posted by 세모아
,

출처 : https://m.blog.naver.com/onwings/221279372791

아래는 위 링크를 복사한 것 : 아주 편리한 기능 ------------------------

피벗 테이블을 작성할 때 사용한 셀 범위가 변경되면 [원본 데이터 범위]를 직접 변경해주어야 합니다.

같은 데이터 목록에서 행 개수가 추가되거나 삭제 되더라도 자동으로 피벗 테이블 범위를 인식하도록 하면 아주 편리하지 않을까요?

방법은 피벗 테이블에 사용할 원본 데이터 범위를 이름으로 정의하여 사용합니다.

이 이름에는 자동 범위를 인식할 수 있는 함수가 사용되어야 하구요.

방법을 설명하겠습니다~

1. 아래 시트에는 왼쪽에 [데이터 목록]이 있고, 오른쪽에는 이 데이터로 만든 [피벗 테이블]이 있습니다.

2. 피벗 테이블에 사용할 이름을 정의해보겠습니다.

[수식]-[이름관리자]를 클릭합니다.

3. [새로 만들기]를 클릭합니다.

4. 이름에 [피벗범위]를 입력합니다.

이 이름은 공백이나 특수문자없이 자유롭게 입력할 수 있습니다.

그 다음 참조 대상에 [=OFFSET(피벗범위!$A$1,0,0,COUNTA(피벗범위!$A:$A),4)]를 입력합니다.

'피벗범위!$A$1'와 '피벗범위!$A:$A'는 셀이나 열을 클릭하면 자동으로 절대참조로 입력됩니다.

=OFFSET(피벗범위!$A$1,0,0,COUNTA(피벗범위!$A:$A),4)

- OFFSET 함수는 출발셀에서 부터 몇 칸 행과 열을 이동한 셀을 지칭하거나 셀 범위를 선택할 수 있는 함수입니다.

- 함수 형식은 : OFFSET(출발셀, 이동행수, 이동열수, 범위지정할행개수, 범위지정할열개수)

- 피벗 범위시트의 [A1]을 출발셀로 하고, 이동행수와 이동열수가 모두 '0'이므로 셀 위치는 이동하지 않아 [A1]셀에서 부터 범위가 시작됩니다.

- 그 다음 'COUNTA(피벗범위!$A:$A)'에 의해서 범위지정할 행개수가 선택되는데, A열에 데이터가 있는 개수 만큼 행 범위를 선택합니다.

- 그리고, 열 개수는 4로 지정합니다. 열 개수도 유동적으로 변경된다면 행 개수처럼 COUNTA함수를 사용해도 됩니다.

5. [새이름]에서 위의 수식을 입력한 후 [확인]을 클릭하면 다시 [이름관리자] 화면이 표시됩니다.

목록에 정의된 이름이 보입니다. [닫기]로 나옵니다.

6. 지정한 이름을 피벗 범위에 반영해보겠습니다.

피벗 테이블을 클릭한 후 [분석]-[데이터 원본 변경]을 클릭합니다.

2010버전이라면 [옵션]-[데이터 원본 변경]을 클릭합니다.

7. [표 또는 범위 선택]에서 기존 데이터 범위를 삭제하고 '피벗범위'를 입력합니다.

8. 결과를 확인해보겠습니다.

원본 데이터 범위 아래쪽에 임의대로 데이터를 추가해봅니다.

9. 피벗 테이블에서 오른쪽 마우스를 클릭하여 [새로 고침]을 선택합니다.

10. 추가한 데이터가 피벗 테이블에 자동으로 반영됩니다.

함수가 입력된 파일은 여기서 다운로드 가능합니다.

첨부파일

피벗테이블_범위자동설정.xlsx
0.02MB

 

Posted by 세모아
,

공용으로 문서 작업시 Sheet 순서가 자꾸 변경되는 불편함은,

아래처럼통합문서 보호 enable로 없앨 수 있음. (암호는 없이 보호하면 됨)

- Sheet 순서 변경이나 추가할때는 disable 하고 하면 됨

Posted by 세모아
,

출처 : www.oppadu.com/if-%ED%95%A8%EC%88%98-%ED%8A%B9%EC%A0%95-%EB%AC%B8%EC%9E%90-%ED%8F%AC%ED%95%A8/

특정문자열 1개만 검색시 : 

=IF(ISNUMBER(SEARCH(찾을문자,셀)),출력값,"")

 

 


특정문자열 여러개 검색시 : 

=IF(OR(ISNUMBER(SEARCH(찾을문자1,셀)),ISNUMBER(SEARCH(찾을문자2,셀))),출력값,"") 

 

Posted by 세모아
,
Posted by 세모아
,

출처 : https://thecoollife.tistory.com/13

 

엑셀(Excel)에서 EXACT() 함수를 사용하면 두 개의 문자열이 똑같은 문자열인지 비교 할 수 있습니다.

기본식:

  =EXACT(문자1, 문자2)

 

기본예제:
 =EXACT("홍길동", "홍길동") : TRUE
 =EXACT("홍길동", "홍 길동") : 공백이 있기 때문에 FALSE

 =EXACT("AB", "ab") : 대소문자가 다르기 때문에 FALSE

 

응용예제:

 =IF(EXACT(A1,B1),"○", "X") : A1 셀과 B1 셀이 같으면 "○", "X".

 

참고1: 액셀에서 아래 함수와 같이 사용하면 유용합니다.

 =COUNTIF(C1:C100, "○") : C1 셀의 "○"의 개수 구함.

 

참고2: 비교 대상이 숫자라면,

 =IF(A1=B1,"○", "X"): EXACT를 사용하지 않고 "="를 사용할 수 있습니다.

 

참고3: A1:A2에 test가 포함되어 있고, B1:B2에 female이 포함되어 있는 것만 count.

=COUNTIFS(A1:A2,"*test*",B1:B2,"*female*")

Posted by 세모아
,

컬럼 B,C,D,E를 끝row까지 선택하려면 (컬럼 E 중간에는 빈셀이 있는 경우)

 1. 컬럼 B에서 Ctrl + 아래화살표로 끝 row까지 이동

 2. Shift 누른채 Ctrl + Home하여 A1까지 선택한 후

 3. 화살표키로 B1 까지 이동하면 끝.

 

 

 

 

Posted by 세모아
,

더 쉬운 방법 :


csv파일을 엑셀에서 읽어들인 후에,

해당 셀 형식을  hh:mm:ss.000 로 변경하면 됨


------------------------------------------------

Stop Excel from automatically converting certain text values to dates


1. csv 파일의 확장자를 txt로 변경

2. 그 파일을 excel에서 모든 파일 형식을 선택하여 열기

3. 아래그림처럼, 원하는 열의 선택 후 텍스트로 서식을 지정.



* 위 방법대로 하지않고, csv를 파일을 더블클릭하여 바로 excel에 열기하면 일자 포맷이 지맘대로 변경됨.

  

* 또 다른 방법으로, Excel 메뉴에서 데이터 - 데이터 가져오기 등으로 csv 파일을 읽으면 된다는 인터넷 글들이 있는데 안 됨.


Posted by 세모아
,



[$-412]yyyy"년" m"월" d"일" dddd


위 셀서식으로 하면, 아래처럼 표시됨.



2015년 2월 1일 월요일

Posted by 세모아
,

아래그림의 노란색 셀처럼 (비어 있음)으로 표시되는 셀을 공백으로 표시하는 방법은,

 

 

 

(비어 있음) 셀을 선택후, spacebar를 한번 누르고, Enter키를 누르면 됨

그러면 모든 (비어 있음) 셀이 공백으로 변경됨. 아래그림처럼 ^o^

 

'Microsoft > Excel' 카테고리의 다른 글

Excel 셀 서식 - 로케일 표시  (0) 2015.02.13
Excel 매크로 (VB) 샘플  (0) 2014.04.22
Excel - 하이퍼추출 매크로  (0) 2014.04.22
Posted by 세모아
,

Sub 링크추출()
On Error Resume Next
Dim rngCell As Range
Dim lnkLink As Hyperlink

For Each lnkLink In ActiveSheet.Hyperlinks
With lnkLink.Parent
.Offset(0, 1) = .Hyperlinks.Item(1).Address
End With
Next lnkLink
End Sub

-----------------------------------------
My) 내가 짠 매크로


Sub 매출손익추출_Click()

Dim str As String
Dim i1 As Integer
i1 = 0

Loop1:
str = ActiveCell.Value
If str = "" Then
  Exit Sub
End If

'테스트용. 5회반복후 탈출
'  i1 = i1 + 1
'  If i1 > 5 Then
'    Exit Sub
'  End If


With ActiveCell  '시트명 찾아서 특정셀의 값 추출
   .Offset(0, 5) = Worksheets(str).Range("i33").Value
   .Offset(0, 6) = Worksheets(str).Range("j33").Value
   .Offset(0, 7) = Worksheets(str).Range("i32").Value
   .Offset(0, 8) = Worksheets(str).Range("j32").Value
End With
 
' 아래줄로 이동
ActiveCell.Offset(1, 0).Select
 
GoTo Loop1

End Sub

-----------------------------------------------

셀에 있는 시트명을 삭제하는 매크로


Sub Sheet삭제()
'준비조건: 커서를 회사명의 셀에 두어야 함.
'커서가 빈칸으로 이동하면 매크로는 멈춤.

Dim str As String
Dim i1 As Integer
i1 = 0

On Error Resume Next

Loop1:
str = ActiveCell.Value
If str = "" Then
  Exit Sub
End If

'테스트용. 5회반복후 탈출
'  i1 = i1 + 1
'  If i1 > 5 Then
'    Exit Sub
'  End If

Worksheets(str).Delete
 
' 아래줄로 이동
ActiveCell.Offset(1, 0).Select
 
GoTo Loop1

End Sub-----------------------------------------

Function 시트명추출(Optional 시작 As Integer, Optional 길이 As Integer = 0)
  Application.Volatile 

  If 시작 < 0 Or 길이 < 0 Then
    시트명추출 = "#인수값 확인!"
    Exit Function
  End If
  If 시작 = 0 Then 시작 = 1
  If 길이 = 0 Then
    시트명추출 = Mid(Application.Caller.Parent.Name, 시작)
  Else
    시트명추출 = Mid(Application.Caller.Parent.Name, 시작, 길이)
  End If
End Function


-----------------------------------------


7. shee1시트의 a1셀에 12를 입력
   worksheets("sheet1").range("a1").value=12
  
-----------------------------------------

7. with구문
   with 반복되는 명령
.속성값1
.속성값2
   end with
   '예) with activecell
   .offset(0,0)="1"
   .offset(0,1)="2"
   .offset(0,2)="3"
end with

'예를 한줄로 표현
activecell.resize(,3)=array("1","2","3")  


-----------------------------------------

activecell.value = "1"


-----------------------------------------
'에러 처리

Sub err_Resume()
On Error GoTo ErrHandler
Workbooks.Open "C:\없는파일이름.xlsx"
Exit Sub
ErrHandler:
If Err <> 0 Then           '에러가 발생했으면
    Resume                  '에러난 행을 재실행
End If

End Sub


Sub err_Resume_Next()
On Error GoTo ErrHandler
Workbooks.Open "C:\없는파일이름.xlsx"
Exit Sub

ErrHandler:
If Err <> 0 Then          '에러가 발생했으면
    Resume Next          '에러난 다음 행을 실행
End If

End Sub




Posted by 세모아
,

shift+F11 로 VB 편집기에 들어가서,

메뉴에서 도구 - 매크로 로 들어가서 매크로를 새로 만들어

아래의 적색 내용을 붙여 넣으면 됨.


----------------------------------

Sub 링크추출()
On Error Resume Next
Dim rngCell As Range
Dim lnkLink As Hyperlink

For Each lnkLink In ActiveSheet.Hyperlinks
With lnkLink.Parent
.Offset(0, 1) = .Hyperlinks.Item(1).Address
End With
Next lnkLink
End Sub

'Microsoft > Excel' 카테고리의 다른 글

Excel 매크로 (VB) 샘플  (0) 2014.04.22
엑셀 단축키  (0) 2014.04.07
[펌] 엑셀: 다중조건에 따라 찾는 결과값의 함수문의  (0) 2013.03.22
Posted by 세모아
,

엑셀 단축키

Microsoft/Excel 2014. 4. 7. 18:51

My)


Ctrl + Home / End : (하나의 시트 내 전체를 범위로) 내용이 있는 셀의 처음과 끝으로 이동


Ctrl + Page Down : 오른쪽 시트로 이동 (Sheet1 → Sheet2)
Ctrl + Page Up : 왼쪽 시트로 이동 (Sheet2 → Sheet1)


Ctrl + 위/아래화살표 : 데이터 있는 블럭 단위로 이동 (연속 실행하면 다음 블럭으로 이동)

Ctrl + 좌/우화살표 : 가로행의 데이터 있는 셀의 처음과 끝으로 이동하나,

                      처음셀에서 좌화살표 누르면 A열로 이동하고, 끝셀에서 우화살표 누르면 XFD열로 이동.

                     (연속 실행하면 다음 블럭으로 이동)



* 시트이동은 아래그림을 좌클릭해도 되고,

우클릭하면 시트리스트가 나와서 바로 점프 가능함.


--------------------------------------

[펌] 유용한 엑셀 단축키 10가지


출처: http://www.itworld.co.kr/news/86771


‘이것만 알아도 작업시간을 절반으로!’ 유용한 엑셀 단축키 10가지

Bill Jelen | Computerworld
엑셀의 단축키는 수백 개로 정말 압도적으로 많다. 단축키 233개를 다 외우고 사용하는 것은 불가능에 가깝다. 아래의 내용에서 필자가 가장 좋아하는 단축키 몇 가지를 소개할 것이다. 매주 엑셀에서 사용할 수 있는 단축키를 한 가지씩 익혀보라.

워크시트들을 빠르게 이동하게
컨트롤 + 페이지 다운(Ctrl+Page Down) 키조합은 다음 워크시트로 넘어가게 한다. 컨트롤 + 페이지 업(Ctrl+Page Up) 키조합은 이전 워크시트로 복귀시킨다. 워크북에 1월, 2월, 3월… 12월까지 12개의 워크시트가 있다고 해보자. 현재 1월 워크시트상에 있을 때 컨트롤 키를 누른 상태로 페이지 다운 키를 다섯 번 누르면 6월 워크시트가 나오게 된다.

컨트롤 + 화살표키 조합을 써서 데이터 하단으로 순간이동하기
데이터에 빈 셀이 없을 때, 컨트롤 + 아래쪽 화살표(Ctrl+ ↓) 키를 누르면 데이터세트(data set) 마지막 줄로 이동된다. 컨트롤 + 위쪽 화살표(Ctrl+ ↑) 키를 누르면 데이터세트 첫째 줄로 이동된다.

쉬프트 키를 더하면 현재 셀부터 마지막까지 선택된다. 만약 A2:J987654에 데이터가 있고, 커서가 A2에 있다면, 컨트롤 + 쉬프트(Ctrl+Shift) 키를 누른 채 아래쪽 화살표키를 누르고 오른쪽 화살표키를 누르면 1열만 제외한 모든 데이터가 선택된다.

컨트롤 + * 키로 현재 영역 선택하기
컨트롤 + *(Ctrl+*) 키를 눌러 현재 영역을 선택하라. 현재 영역은 전체 데이터세트로, 현재 셀에서부터 모든 방향으로 엑셀이 워크시트 가장자리에 도달하거나 완전히 빈 칸이나 줄에 이를 때까지다. 데스크톱 컴퓨터상에서는 컨트롤 키를 누르고 숫자 키패드 상의 별표를 누르면 같은 그런 효과가 나타난다.

선택 영역 다음 코너로 건너뛰기
지금 막 A2:J987654를 선택했지만 데이터의 우측 하단 코너에서 시작하는 상황이라면, 컨트롤 + 마침표(Ctrl+.) 키를 눌러 데이터의 다음 코너로 이동할 수 있다. 우측 하단 코너에 있기 때문에, 좌측 상단 코너로 이동하려면 컨트롤 + 마침표를 두 번 눌러야 한다. 비록 이런 조작이 활성 셀을 이동시키지만, 선택을 취소하지는 않는다.

쉬프트 + F10 키를 활용해 우클릭 메뉴 열기
필자가 세미나를 할 때, 사람들은 항상 왜 우클릭 메뉴를 사용하지 않는지 궁금해한다. 왜냐면 필자는 마우스를 쥐고 있지 않기 때문에 그렇다! 쉬프트 + F10(Shift+F10) 키를 누르면 우클릭 메뉴가 뜬다. 위쪽/아래쪽 화살표 키를 사용하면 다양한 메뉴를 선택할 수 있고 오른쪽 화살표키로 펼쳐지는 메뉴도 열 수 있다. 원하는 메뉴에 도달하면 엔터를 눌러 선택 가능하다.

컨트롤 + 5 키로 목록에서 작업 지우기
필자는 목록 만드는 일과 그 목록에서 일을 지워버리는 일을 아주 좋아한다. 무언가 마무리 지어진 느낌이 들기 때문이다. 셀을 선택하고 컨트롤 + 5 (Ctrl+5)키를 누르면 셀 내용에 줄이 쫙 그어진다.

컨트롤 + : 혹은 컨트롤 + ; 키로 시간이나 날짜 찍기
이 단축키를 외우는 쉬운 방법이 있다. 현재 시간은? 11:21이다. 여기에서는 콜론이 시간에 사용된다. 컨트롤 + 콜론(Ctrl+:) 키를 누르면 현재 시간이 활성 셀에 입력된다.

현재 날짜를 입력하려면? 같은 키조합에서 쉬프트키만 빼면 된다. 컨트롤 + 세미콜론(Ctrl+;)을 누르면 현재 시간이 입력된다.

이 기능이 =NOW()나 =TODAY() 기능과 같지 않다는 점은 명심해야 한다. 이런 기능은 시간이 지남에 따라 입력값이 바뀌지만, 여기에서 소개된 단축키는 단축키를 사용한 시간과 날짜가 입력되어 바뀌지 않는다.

F4 키로 마지막 작업 반복하기  <- 이게 최고
방금 셀을 선택했고, 홈, 삭제(Delete), 셀 삭제(Delete Cells), 전체 줄 삭제(Delete Entire Row), OK를 눌렀다고 가정해보자. 데이터세트 여러 지점에서 24개줄을 더 삭제해야 된다면 어떻게 할까.

다음 줄을 선택하고 F4를 누르면 현재 선택된 셀에서 마지막 작업이 반복 적용된다.

다시 다음 줄을 선택하고 F4를 눌러도 반복된다. 이런 식으로 삭제 해야 할 24개줄을 홈, 삭제, 셀 삭제, 전체 줄 삭제, OK를 24번 반복하지 않고도 없앨 수 있다.

이 F4키 기능은 사용하는 명령의 92%에서 작동한다. 시도해보라. 편리할 것이다. F4가 먹히지 않는 일반적이지 않은 기능은 시도하자마자 바로 알아낼 수 있을 것이다.

F4로 레퍼런스에 달러표시 추가하기
그렇다. F4의 두 번째 멋진 기능이다. 공식을 입력하면서 A1을 $A$1로 바꿀 필요가 있을 때 삽입점을 A1에 맞춰놓고 F4를 클릭하라. F4를 다시 눌러 A$1의 줄만 고정시킬 수도 있다. F4를 다시 누르면 $A1의 행이 고정된다. 다시 F4를 누르면 A1으로 되돌아온다.

시간을 너무 많이 잡아먹는 한가지 작업 찾기
이 기사에서 소개된 단축키들은 필자가 지난 20년간 익힌 것들로 모두 반복적으로 해왔던 작업이다. 계속 반복적으로 하는 작업, 특히 마우스 클릭을 몇 번씩 해야 하는 작업이 무엇인지 알아내고, 그에 부합하는 단축키를 활용하면 시간 절약에 도움이 될 것이다.

마우스로 명령을 수행할 때 마지막 절차만 남겨보라. 툴 팁이 나올 때까지 명령어 위에 마우스를 가져가보라. 많은 경우 툴팁이 그 기능의 키보드 단축키를 알려줄 것이다.

이 기사는 엑셀 2013 심층분석(Excel 2013 in Depth)에서 발췌했으며, 출판자의 허가를 받아 Computerworld에 재발행되었다. editor@itworld.co.kr


Posted by 세모아
,

* 주의: 수식 입력후 배열서식(Ctrl+Shift+Enter) 로 입력 완료해야 함.

 

 

 

vlookup함수에서 찾을 조건이 2가지 이상일 경우는 찾을방법이 있나요?
예를 들어 A열의조건 AND B열의 조건에 일치되는 값출력.

첨부파일 올리구요~ 고수님의 조언 부탁드립니다.^^*

 
김정호 답변을 이미 받으셨네요..
아래는 그냥 참고만 해보시길~~
=OFFSET(C1,SUMPRODUCT((A3:A10=E3)*(B3:B10=F3),ROW(C3:C10)-1),0)
 
 
 
김정호 이런 방법도 ~~
=INDIRECT(ADDRESS(SUMPRODUCT((A3:A10=E3)*(B3:B10=F3),ROW(C3:C10)),3))

'Microsoft > Excel' 카테고리의 다른 글

엑셀 단축키  (0) 2014.04.07
[펌] 엑셀 대괄호{}: 배열서식  (1) 2013.03.22
[펌] Excel에서 16진수, 8진수, 2진수 사용하기  (0) 2013.01.17
Posted by 세모아
,

 

사용하신 수식은 [배열수식]입니다. 

따라서, 결과를 구하고자 하는 셀에 해당 수식을 입력하신 다음 ....
[수식입력줄]을 눌러, Ctrl+Shift+Enter 3개의 키를 동시에 눌러 마무리 해주시면
수식의 좌우 양 끝에 저절로 중괄호({ }) 가 생기며, 이러한 형태로 입력된 수식
[배열수식]이라고 한답니다.^^*;;

 

주의:  Ctrl+Alt+Shift 가 아닙니다.

Posted by 세모아
,

출처: http://lonelyengineer.tistory.com/1808


Posted by 세모아
,


=VLOOKUP(A3,설비listfrom시스템!$A:$B,2,FALSE)
=IF(ISERROR(TRUE),"?","--")


맨위의 vlookup으로 점검해보고, N/A경우 고려하여 위의 iserror 조건과 두번째 인자에

위 vlookup 절은 넣으면 아래와 같아진다.



=IF(ISERROR(VLOOKUP(A3,설비listfrom시스템!$A:$B,2,FALSE)),"?",VLOOKUP(A3,설비listfrom시스템!$A:$B,2,FALSE))

Posted by 세모아
,