[엑셀] 동일조건인 값이 2개 이상일때, 첫 값과 마지막 값 찾기
엑셀 - 동일조건인 값이 2개 이상일때, 첫 값과 마지막 값 찾기2개 이상의 조건값을 테이블에서찾을때, SUM배열함수나 SUMPRODUCT를 사용하게되는데, 조건결과값이 2개 이상이면, 해당값이 합산된다.합산을 원치않는경우, INDEX/MATCH를 사용하면, 값만 반환을 받을수 있는데, 반환되는값이 기본적으로 데이터 테이블의 순서상 첫번째 값이나온다.. 물론 첫번째 값이라는건 현재의 정렬기준인데, 다른 열의 정렬에 따라 첫번째 값은 바뀌게 된다. 그럼에도 정렬이 원하는데로 되어있다면, 순서상 마지막값을 반환하도록 만드는방법도 필요할 것이다. 그래서 찾아낸... 아는 사람만 아는 그 방법.. 이정도면,, 수식이 좀 과하지 않나 싶다. ㅋㅋ
2019. 9. 9.
[엑셀VBA] 랜덤 셀선택 값 표시
가끔 뽑기를 엑셀로 만들때가 있다.워크시트 함수로 만들면, 랜덤함수는 셀계산을 매번하는데, VBA로 만들면, 이를 방지할 수 있다.예를 들어, 몇 개의 숫자가 있고, 이를 임의로 가져오는 방법을 함수와 VBA로 만들어 봤다. 여러가지 방법이 있겠으나, 함수로 쓰면 대략 이런 모양이 되지 않을까?="선택한 값은 "& TEXT(OFFSET(D5,0,RANDBETWEEN(0,10)),"#,###") &" 입니다." 이번에는 VBA로 RANDBEETWEEN 함수를 OFFSET과 함께 사용했다. 별 건 없다. 여기에 기준셀을 선택하는 인풋창을 넣어두면 더 사용하기 편할 수 있겠지만 귀찮아서 패스. [코드샘플] Sub choice_value() Dim x As IntegerDim y As IntegerDim ..
2018. 2. 23.
[엑셀] 구간별 개수를 세는 방법(배열함수/countif함수)
엑셀 구간별 개수를 세는 방법(배열함수/countif함수)얼마전, 포인트 구간별 해당자수를 구할 일이 있었다.동료가 작성한 엑셀 문서를 봤는데, 놀라운 수식을 썼더라. 아래 왼쪽 테이블처럼 점수들이 혼재되어 있다고 치자.모두 51점에서 100점 사이에 위치한다고 치고,91~100 / 81~90 / 71~80 / 61~70 / 51~60 구간대별 개수를 세고 싶다고 하자. 왼쪽 표처럼 점수가 있다.당신이라면 어떻게 하겠는가... 동료가 가져온 엑셀 테이블이다.countif로 기준점수이상의 값을 찾는 수식을 쓰고, 놀랍게도, 상위값을 빼기로 했다.놀라운 노가다에 가까운 창의적 발상이다.값은 제대로 나오지만, 구간이 10개라면,,, 또는 그 이상이라면, 노가다에서 개노가다로 바뀌겠지. 배열수식으로 ..
2018. 1. 9.
[엑셀VBA] 시트 복사하기 - 특정 리스트로 갯수, 시트명 설정
엑셀VBA로 시트 복사하기 - 특정 리스트로 갯수, 시트명 설정제목만큼이나 난해하다. 1, 2, 3번 시트가 있다.이 중 2번 시트를 여러개 복사하는데,3번 시트에 있는 리스트의 갯수만큼 복사하고,이에 해당하는 이름을 붙이고 싶다. [코드샘플] ' Null은 없을 것' 영역이 붙어 있을 것Sub 시트생성() Dim s As Integer Dim e As Integer On Error Resume Next Application.DisplayAlerts = False '시트명으로 사용할 변수 영역 선택 Set rename_area = Application.InputBox("업체명 위치를 입력하세요", , , , , , , 8) Application.Displa..
2017. 12. 19.
[엑셀VBA] 날짜 계산
엑셀 날짜 계산특정 날짜가 있다.30일,60일 뒤의 날짜가 몇일인지, 메시지 창을 띄워보자, 네이버 광고중에 30일단위 계약되는 상품이 있다.그걸 계산해 보자. [1단계]인풋박스로 날짜를 입력받아서, A1, A2 / B1, B2 / C1, C2 셀에 나오게 했다.날짜 데이터를 LEFT, RIGHT, MID 함수로 쪼갯다.꽤나 노가다다.설계 단계라고 해두자.Sub brand_search_date() start_date = InputBox("브랜드검색 시작 일자를 입력하세요(yyyy-mm-dd)", , "2017-") Cells(1, 1) = "브랜드검색 시작일자 : " Cells(1, 2) = start_date Cells(2, 1) = "브랜드검색 30일 계약종료 일자 : " ..
2017. 9. 18.