[엑셀] 다중 조건에 따라 카테고리별 합계(부분합) 구하기
합계를 내야할 대상의 조건이 동일할때, 맨 처음 값에 대해서만 합계를 구하고 싶다. subtotal을 사용하면 간단하겠지만, 다른 방법을 생각해보자. 아래와 같은 표가 있다. 표를 수정할 수 없고, 피벗테이블을 사용하지 않을 때 사용할 수 있다. (거의 사용한 적은 없다.) 아래와 같이, 두개의 조건(차종, 브랜드)이 변경되는 행에만 countifs 함수를 통해 ok 텍스트를 넣도록 할 수 있다. =IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,"ok","") ok가 표기된 행에 대하여, 대수의 합계를 구해보자 =IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,SUMIFS($F$3:$F$15,$B$3:$B$15,B3,$C$3:$C$15,C3),"") 핵심은 조건이 변..
[엑셀] 중복값 없애고, 텍스트 목록 가로로 이어붙이기
아래와 같은 테이블이 있을때, 우측의 테이블에 차종을 하나, 브랜드 이름을 현대/기아.... 이런식으로 나열을 하고 싶다. 차종은 추가될때 마다 자동으로 들어가게 하고 싶다. 당신의 선택은 무엇인가? 중복값 없애고 동적으로 값 등록하기 편하긴 한데, 잘 안쓰게 되는 방법이긴 하다. 원리는 간단한데, 이미 등록된 행들에 같은 값이 있으면, 스킵을 하고, 처음 나오는 값을 등록하는 것이다. COUNTIF 함수에서 찾는 대상을 동적으로 설정하는게 핵심이다. 표 사이에 새로운 값이 들어와도 처리가 가능하다. IFERROR문은 사실 데코레이션인데, 더이상 새로운 값이 없으면, "-" 처리해준다. 실제로는 #N/A 에러가 뜰것이다. {=IFERROR(INDEX($B$3:$B$15,MATCH(0,COUNTIF($E$..
Windows 10용 OneNote 한글입력 씹힐때 해결방법
Windows 10용 OneNote 에서 한글 입력시, 입력이 되지 않고 씹히는 문제가 나에게 벌어지고 있다. 몇몇 글을 찾아본 결과, 로캐일을 설정할때, UTF-8 형식도 지정해주는 것이 괜찮은 해결책인 것 같다. onenote2016도 있는데, Windows 10용 OneNote가 왠지 더 정감이 가는건 왜인지 모르겠다. 제어판 → 국가 또는 지역 → 관리자 옵션 → 시스템로캘 변경 → 지역설정 으로 들어가자. 유니코드고 뭐시고, 잘 모르겠고, UTF-8 사용에 체크를 해준다. 체크이후 재부팅이 필요하다. 재부팅 이후, 아직까지는 씹힘은 발생하고 있지 않으나, 또 모를일이다. 한글 입력기를 추가 설치하는 해결방법도 있었으나, 입력기가 많으면, 다른 프로그램에서 더 혼란스러워질 수 있다. 그냥 onen..
[사진장비] 액션캠. 액세서리지옥. DJI 액션2 마그네틱 어댑터
처음엔 이해가 안갔다. 자그마한 액션캠에 구지 액세서리가 필요한가? 그런데, 중고매물은 모두 액세서리가 한바가지씩 딸려있다. 그냥 미니 삼각대 하나이면 되지 않을까 생각했는데, 이 생각은 그리 오래 가지 못했다. 액션2를 사고 나서, 액세서리가 왜 필요한지 깨닫게 되는 시간은 그리 오래 걸리지 않았다. 일단 손으로 들기 참 애매한 크기이고, 어디 한군데 고정하려고 하면, 파츠가 필요했다. 나름 미러리스 카메라를 쓰면서 다양한 RIG나 홀더가 있었는데, 이건 참 신세계이다. 동영상의 특성상, 장시간 거치를 염두에 두기 때문이리라. 이번에 산건, 액션2의 장점이자 단점이라 할 수 있는, 마그네틱 어댑터인데, 파워포듈에는 고프로용 어댑터 하나가 전부인 관계로, 추가 구매를 했다. 최대한 다른 액세서리를 쓰지 ..
[엑셀] 테이블(표) 영역 선택해서, 이름정의로 사용하기
데이터 시트의 경우, 영역(range)으로 사용하는 것보다 테이블(표)로 사용하는 경우 장점이 있다. 첫번째는 최하단에 데이터를 추가했을때 연결되는 수식에서 동적으로 추가된다는 것이고, 두번째는 데이터가 좀 늘어나면, 엑셀이 힘겨워하는 경우를 심심치 않게 볼 수 있는데, 이를 좀 더 완화할 수 있을 것이라는 기대감이 있다. 즉, 확실치가 않다. 각설하고, 주어진 상황은 아래와 같다. 데이터 시트가 있고, 이를 배열 함수로 요약하는 시트가 여러장 있었다. 나 역시도 귀찮아서, 테이블 대신 주로 영역으로 사용하고 있었는데, 어느순간, 계산 중이라는 프로그래스바가 생긴다. 테이블(표) 내에서 원하는 영역을 선택하는 것을 Structed references 이라고 하나보다. 범용적으로 쓰는 말인지 모르겠는데, ..
갤럭시 S9, 갤럭시 스마트폰 배터리 교체 비용
스마트폰은 배터리가 닳아서 교체를 하는 것보다 액정이 날아가서 교체하는 경우가 많다. 하지만, 이번에 쓰고 있는 갤럭시 S9, 액정보호필름없이도 꿋꿋이 잘 버텨주고 있다. 그러던 중, 난생 처음보는 배터리 교체 NOTIFICATION이 발생한다. 딱히 가지고 싶은 폰도 없으니, 배터리를 교체해서 더 오래 써볼 요량으로 가격을 검색하니 아래와 같다. https://s3-contents.s3.ap-northeast-2.amazonaws.com/web/THS/THS-THS-A20307-5d47aeea93947353a7a39a94-190828082538029.html S9(SM-G960)S9+(SM-G965)S8(SM-G950)배터리36,50039,00034,000수리비9,0009,0009,000KIT3,000..
[플러터] SearchBar Widget 사용하기
검색기능을 만들일이 있을지 모르겠지만, 예전에 슬쩍 봤었던, SearchBar Widget에 뭔가 신박한 무엇인가가.. 생겼나 살펴보았다. 다짜고짜, SearchBar 위젯을 달아본다. 입력창에 별다른 제한을 두지 않으니, 그닥 큰 생각을 할 필요는 없었다. 대충 숫자를 사용해서, string list를 만들고, 필터가 걸렸을때 사용할 빈 list를 만들었다. List list = [ "1", "2", //... 중간 생략 ]; List filteredList = []; 입력값에 제한을 둔다면 컨트롤러가 필요하겠지만, 이번엔 건드리지 않는 것으로 한다. var textcontroller = TextEditingController(); 복잡하지만, onChanged 이하 구문만 살펴보면 될 것이다. 입력된..
[엑셀] 배열수식 테이블 슬라이스 - 동적인 합계 영역 설정
좀.. 딥한 내용이기는하지만, 단순하게 적어본다. 아래와 같은 테이블이 있을때, 원하는 과일에 대한 조건을 주고, (여기서는 이름으로만 처리), 월별 생산량을 구하는 수식을 짠다고 하면, 최초에 세팅한 합계영역이 계산되어 나올 것이다. 아래 그림처럼, "수량"이라는 이름으로 정의를 해놓았다면, 보라색 영역이 변경되지 않는다는 말이다. "수량"이라는 영역을 슬라이스처럼 동적으로 만들 수 있을까? 일단 생각나는데로 해본다. 월에 따라, 열문자가 변경되어야 하므로 이를 참조할 테이블을 하나 만든다. 1월부터 12월까지, 해당하는 열문자를 기재해줬다. 그냥 놔두면 흉하니까, 나는 "열번호"라는 이름으로 이름정의를 해둘 생각이다. 테이블을 이름정의로 바꾸는 매크로는 이전 글에 적었던 적이 있는 것 같다. [엑셀V..
[다트] 리스트 중복 제거
리스트에서 중복을 제거하는 방법이야 여러가지가 있겠지만, 아래 방법은 어떨까? toSet으로 중복을 제거하고, 다시 리스트로 바꿔주는 방법이다. List listSample = [1, 2, 2, 3, 4, 4, 23, 24, 324, 2353, 12, 1, 12]; main() { Set setSample = listSample.toSet(); print(setSample); // Console >> {1, 2, 3, 4, 23, 24, 324, 2353, 12} List setNewList = []; setNewList.addAll(setSample); print(setNewList); // Console >> [1, 2, 3, 4, 23, 24, 324, 2353, 12] print('newList\..
[플러터] Map 정렬하기
아래와 같은 dblist Map이 있다고 하면, Map dblist = { 0: [1, '가', 8, '나'], 1: [2, '마', 4, '바'], 2: [6, '자', 1, '치'], }; Map의 구성은 아래와 같다. print(dblist); //console >> {0: [1, 가, 8, 나], 1: [2, 마, 4, 바], 2: [6, 자, 1, 치]} 정렬을 위해 Key값을 리스트로 추출하는 방법은 아래와 같다. // 키 값을 리스트로 추출 var sortedKeys = dblist.keys.toList(growable: false); print(sortedKeys); //console >> [0, 1, 2] LinkedHashMap 사용을 위해서는 collection 패키지를 import ..