본문 바로가기
반응형

Excel5

[엑셀]대분류 선택시 소분류가 달라지는 종속적(반응형) 드랍다운 메뉴 만들기 엑셀에서 드랍다운 목록은 [데이터] > [데이터 유효성 검사] 메뉴에서 만들 수 있다. 오늘은 대분류의 목록 중 하나의 항목을 선택하면, 선택항목에 따라 소분류의 드랍다운 목록이 달라지는 기능을 구현해 보자. 일단은 대분류와 소분류에 사용할 목록이 있어야겠다. 사소한 팁이지만, 목록은 오름차순으로 정렬해 두는 편이 나중에 사용하기에 편리하다. 우리는 이 각각의 목록에 이름을 지정해 줄 것이다. {과일, 동물, 전자제품} 의 목록은 [대분류] 라는 이름으로 {사과, 수박, 자두, 포도}의 목록은 [과일] 이라는 이름으로 지정해 주는 식이다. 이름 지정은 [수식] > [이름 정의] 메뉴에서 할 수 있는데 우리처럼 표로 잘 정리해 놓은 경우에는 그냥 '각 목록의 첫 행을 이름으로 지정' 해 달라고 할 수도 있.. 2020. 1. 15.
[엑셀] Char() 함수에 할당된 문자 목록 (아스키 코드) 엑셀 CHAR() 함수에는 아스키 코드가 할당된다. (참고: 2017/07/11 - [엑셀] - [엑셀] Char()에 할당된 번호 알아보기, 연속되는 알파벳 채우기) 아스키 문자 테이블에 따라 CHAR(1) 부터 CHAR(127) 까지 다음과 같은 문자들이 할당되어 있다. 수식 모양 분류 설명 =CHAR(1)  제어문자 Start of Header: 헤더 시작 =CHAR(2)  제어문자 Start of Text: 본문 시작, 헤더 종료 =CHAR(3)  제어문자 End of Text: 본문 종료 =CHAR(4)  제어문자 End of Transmission: 전송 종료, 데이터 링크 초기화 =CHAR(5)  제어문자 Enquiry: 응답 요구 =CHAR(6)  제어문자 Acknowledgme.. 2017. 5. 22.
[R.아르] R에서 피벗테이블 사용하기 dcast() 피벗테이블의 용도야 다양하겠지만 특히 두 가지 경우에 많이 쓰이는 것 같다. 1) 항목별 합산이 필요한데 countif와 sumif를 사용하기는 귀찮을 때 2) 한 항목은 행, 한 항목은 열로 삼아 펼쳐 보고 싶을 때 두 번째 것부터 먼저 알아보자. 먼저 x를 마련하고 reshape2 라이브러리를 불러온다. 피벗테이블 기능을 하는 함수는 dcast()다. dcast(원 데이터, 행이 될 항목 ~ 열이 될 항목, 값으로 사용할 항목, 결과 형태) 와 같이 적어준다. 우리는 날짜를 행으로 삼고 상품을 열로 삼아 펼칠 것이므로 date ~ product 와 같이 써 주면 되겠다. 그리고 sales 열을 값으로 사용할 것이므로 value.var="sales" 로 입력한다. 원하는 결과를 얻었다. 잠깐, 총합이 .. 2016. 9. 23.
[R.아르] 중복된 값의 개수 세기(엑셀의 countif) 다음과 같은 x가 있다고 하자. a는 총 몇 번 나왔을까? 지난 번에 본 length(which())를 쓰면 되겠다. (2016/09/05 - [R] - [R.아르] 특정 조건을 만족하는 행의 개수 구하기) 3번 나왔다고 한다. 그렇다면 b는? c는? d는? e는? 매번 이렇게 확인하기는 힘든 일이다. 이럴 때 엑셀에서는 countif()를 쓴다. 그리고 R에서는 table()을 사용한다. table은 결과를 표로 정리해 주는 함수이며, 이렇게 열 하나를 지정할 경우 해당 열의 데이터가 몇 번 중복으로 나왔는지 알려준다. 엑셀에서 countif() 함수를 쓰는 것과 비슷하다. 데이터 프레임으로 보는 것이 편하다면 아래와 같이 데이터프레임으로 바꾸어 주자. 2016. 9. 9.
[엑셀] 특정 조건에 맞는 셀들의 합 구하기 (sumif, 배열수식) 다음과 같은 자료에서 분류가 A인 것들의 합만 구해야 한다면 sumif()를 사용하면 된다. sumif()는 sumif(조건을 판단할 셀, 조건, 합산할 셀)과 같이 지정한다. 또는, 아래와 같은 '배열수식'을 사용해도 된다. 뒤에서 보겠지만, 배열수식은 특정 조건의 합 외에도 다양한 값을 반환하므로 알아두면 유용하게 사용할 수 있다. 배열수식은 특이하게, 입력 후 그냥 Enter가 아니라 Ctrl + Shift + Enter 를 눌러야 제대로 입력된다. 일단 안에 들어 있는 IF(B:B="A",C:C) 부분은 B열의 값이 "A"인 행들의 C열 데이터를 가지고 별도의 집합(혹은 배열, 혹은 벡터)을 만들어라 라는 의미다. 엑셀에서 흔히 쓰던 if(조건, 맞으면, 틀리면) 과는 조금 용법이 다르다. 그래서.. 2016. 9. 5.
반응형