본문 바로가기
반응형

분류 전체보기218

[엑셀] 랜덤추출하기 RANDBETWEEN() 다음과 같은 자료가 있다고 하자. A열에 있는 값 중 하나를 랜덤으로 추출하려면 어떻게 해야할까? A1 ~ A26 셀에 있는 값 중 하나를 참조하도록 하면 될 것이다. 숫자가 바뀌므로 2017/08/02 - [엑셀] - [엑셀] 계산 결과 값으로 셀 지정하기 INDIRECT() 에 등장한 INDIRECT를 이용하면 되겠다. 셀 주소는 A(1~26중 랜덤) 의 모양이면 되겠는데, 이때 셀 주소의 숫자 부분 입력을 위해 RANDBETWEEN을 사용한다. RANDBETWEEN은 인자로 받은 두 수 사이의 정수를 무작위로 반환하는 함수다. A1 부터 A26 까지 숫자가 1 ~ 26 사이에서 바뀌어야 하므로 RANDBETWEEN 은 다음과 같이 입력한다. =RANDBETWEEN(1, 26) 이제 &를 이용해 숫자.. 2017. 8. 3.
[엑셀] 계산 결과 값으로 셀 지정하기 INDIRECT() 어떤 계산 결과값으로 셀을 지정해 주고 싶은 경우가 있다. 예를 들어 다음과 같은 자료에서 A1에 있는 값은 "A"인데, 그로부터 17번째 아래에 있는 값은 무엇일까? 엑셀에게 1+17 번째를 계산시킬 수 있을까? 물론 암산하여 =A18과 같이 적어주면 되겠지만, 계산이 복잡해지면 일일이 계산하여 결과값을 적어줄 수는 없는 노릇이다. 그렇다고 =A(1+17)과 같이 적으면 인식될 리가 없다. 이럴 때 사용하는 함수가 INDIRECT다. INDIRECT는 무엇이 되었든 괄호 안의 최종 텍스트가 셀 주소 모양 (A1, B12, T34 등) 이기만 하면 해당 셀의 값을 반환해 준다. 그러니 먼저 계산식을 이용하여 A18에 해당하는 텍스트를 만들어야겠다. A(1+17)을 A18로 인식시키려면 앞의 문자인 A와 .. 2017. 8. 2.
[엑셀] 상/하위 몇% 의 평균 구하기 2017/07/13 - [엑셀] - [엑셀] 배열수식에 여러 개의 조건 사용하기 와 2017/07/14 - [엑셀] - [엑셀] 상/하위 몇 퍼센트에 해당하는 값 알아보기 percentile() 위 두 가지를 이용하면 상/하위 몇%의 값뿐 아니라, 그 구간에 해당하는 값의 평균도 구해볼 수 있다. (AVERAGEIFS 등의 함수를 이용할 수도 있으나 여기서는 배열수식을 이용하기로 한다.) 다음과 같은 자료가 있다고 하자. 일단 하위 10%에 해당하는 값을 찾으려면 Percentile.INC 를 이용해야 할 것이다. (2017/07/31 - [엑셀] - [엑셀] PERCENTILE INC와 EXC의 차이 참고) 345.3이라고 한다. 그러니 하위 10%에 해당하는 값은 317, 336, 337, 345 네.. 2017. 8. 1.
[엑셀] PERCENTILE INC와 EXC의 차이 2017/07/14 - [엑셀] - [엑셀] 상/하위 몇 퍼센트에 해당하는 값 알아보기 percentile() 에서 엑셀이 어떻게 백분위수를 구하는지 언급한 적이 있다. Excel 2016 에서는 Percentile 함수가 Percentile.EXC 와 Percentile.INC 두 가지로 나누어졌는데, 이중 Percentile.INC 가 이전에 사용하던 Percentile 과 같은 함수이다. Percentile.EXC 는 약간 다른 결과를 내어 주는데, 두 함수가 어떻게 다른가 살펴보자. Percentile.INC 는 주어진 백분위수가 몇 번째인지 판단할 때 정확히 다음과 같은 공식을 사용한다. (n-1) x p + 1 n은 모든 데이터의 개수고, p는 백분위(0~1)이다. 예를 들어 앞선 포스트에서 .. 2017. 7. 31.
[MySQL] 일부 값만 음수로 계산하기 (조건문 CASE) 다음과 같은 자료가 있다고 하자. 위와 같이 엉망인 자료는 드물겠지만, 어쨌든 flag=1 은 코인 충전, flag=2는 코인 사용이라고 생각해 보자. 이때 각 유저별로 갖고 있는 코인의 총량을 알고 싶다면? flag=1 인 경우는 coin을 더하고 flag=2인 경우는 coin을 빼야 할 것이다. 엑셀에서는 IF를 쓰면 되겠고, 이런 경우 SQL에서는 CASE를 쓴다. SELECT CASE WHEN flag=1 THEN coinWHEN flag=2 THEN coin * -1ELSE NULLEND FROM cointable; 위 쿼리를 실행시키면 다음과 같은 결과를 볼 수 있다. CASE문 전체가 하나의 열을 만드는 것을 알 수 있다. 다시 쿼리를 보자. SELECT CASE WHEN flag=1 THE.. 2017. 7. 28.
[MySQL] apmsetup으로 연습환경 구축하기, 데이터 넣기 Import MS ACCESS에 이어 Apmsetup으로 연습환경을 구축해 보자. Apmsetup의 APM은 각각 Apache, PHP, MySQL 을 의미한다고 하며, 우리는 MySQL DB 에서 SQL을 연습해 볼 것이다. (MS ACCESS에서는 몇 가지 지원하지 않는 쿼리가 있어, 이쪽에서 연습하기로 한다.) https://kldp.net/apmsetup/ 위 주소에서 Apmsetup을 받아 설치한다. 다음과 같은 트레이 아이콘이 생길 것이다. 오른쪽 버튼을 눌러 [MySQL 관리]로 들어간다. (root 패스워드 변경을 먼저 해 두어도 좋다. 초기 로그인은 root / apmsetup 으로 가능하다.) root / apmsetup 으로 로그인한 후 데이터베이스를 만들어 준다. MS ACCESS와 마찬가지로 .. 2017. 7. 25.
[엑셀] 상/하위 몇 퍼센트에 해당하는 값 알아보기 percentile() 통계적으로 백분위수(Percentile)를 구하는 방법에는 여러 가지가 있다고 한다. 엑셀은 어떻게 계산하는지 알아보자. 다음과 같은 자료에서 하위 30%에 있는 값은 3이 될 것이다. 수식으로는 percentile()을 이용하여 이렇게 적는다. 말하자면 이런 셈이다. 실제로 계산하는 방법은 조금 다르지만, 쉽게, 맨 처음 숫자는 0%이므로 말하자면 '0번째 숫자'로 치고, 1부터 첫 번째 숫자로 생각한다고 보면 이해가 빠를 것이다. (정확한 계산 방법은 2017/07/31 - [엑셀] - [엑셀] PERCENTILE INC와 EXC의 차이 를 참고) 자료가 1부터 시작한다면 이야기가 좀 다르겠다. 말하자면 1이 0%이므로 0번째 숫자, 2부터 첫 번째 숫자가 되고 이때 하위 10%는 1과 2 사이 어디.. 2017. 7. 14.
[엑셀] 배열수식에 여러 개의 조건 사용하기 2016/10/10 - [엑셀] - [엑셀] 월별 합계 구하기 month() / 배열수식에 등장했던 배열은 한 가지 조건으로 만든 배열이었다. 2가지 이상의 조건으로도 배열을 만들 수 있다. 다음과 같은 자료가 있다고 하자. 조건 1은 3이고 조건 2는 b인 셀들로 배열을 만들려면 어떻게 해야할까? 두 개 이상의 조건일 경우 *(asterisk)를 이용하여 다음과 같이 적는다. IF((조건1)*(조건2),계산범위) 그러므로 이 경우에는 다음과 같다. IF((A:A=3)*(B:B="b"),C:C) 배열만으로는 값이 나오지 않으므로 SUM()을 구해보자. SUM(IF((A:A=3)*(B:B="b"),C:C)) 입력 후 Ctrl + Shift + Enter 를 누른다. (실은, 배열만 미리 확인하는 방법도 있.. 2017. 7. 13.
[엑셀] 두 수의 사이 빈 곳에 알맞게 연속된 숫자 채우기 다음과 같은 자료의 5와 500사이를 선형으로 (일정하게 증가하도록) 숫자를 채우려면 어떻게 해야 할까? 수식은 대략 이렇게 되겠다. 끝 값인 500에서 첫 값인 5를 뺀 후 9단계로 나누어 각 행의 번호에서 하나 뺀 값을 곱하고 첫 값인 5를 더해준다. 즉 하지만 늘 이렇게 계산할 수는 없는 법. 첫 값과 끝 값의 사이를 선형으로 한 번에 채우는 방법이 있다. 먼저 범위를 잡고 이제는 손에 익었을 Alt + E + I + S 를 눌러 준다. (참고: 2016/08/29 - [엑셀] - [엑셀] 순서대로 순차 번호 채우기 단축키 / row() 함수 / 알파벳 채우기) 단계 값에 자동으로 55라는 값이 입력되어 있다. 똑똑한 엑셀. 아까와 같은 값이 자동으로 입력되었다. 참고로 [연속 데이터] 창의 [추세.. 2017. 7. 12.
[엑셀] Char()에 할당된 번호 알아보기, 연속되는 알파벳 채우기 2016/08/29 - [엑셀] - [엑셀] 순서대로 번호 채우기 단축키 / row() 함수 / 알파벳 채우기에서 A는 Char(65)에 할당되어 있다는 것을 언급한 적이 있다. 하지만 쓰지 않다보면 곧 A가 65번이라는 사실을 잊어버리게 된다. 이럴 때를 위해 특정 문자를 입력하면 해당하는 번호를 반환해 주는 함수가 있다. Code()다. =Code("A")를 입력하자 65가 반환된다. 이것을 이용하여 연속된 알파벳을 다음과 같이 입력할 수 있다. Code("A")는 65를 반환하고, 2행부터 시작했으므로 Row()-2 를 입력해 주었다. 왜 하필 65일까? 원래 아스키 코드에서 A가 65번에 할당되어 있기 때문이다. Char()는 127번까지 아스키 코드를 출력해 준다. 다시 말하면, 엑셀의 Char.. 2017. 7. 11.
반응형