목록중복값 (2)
rand(life)
중복없이 값을 배열에 넣기 위해 그동안 컬렉션을 사용했었는데, 많이 불편했다. 그런데 이번에 Scripting.Dictionary를 사용하는 방법을 알게 되었다. 원문은 여기 그리고 여기번역문은 여기이다. 상당히 편리하다. 원문의 설명에 따르면 Scripting.Dictionary를 사용하기 위해서는 VB편집기에서 설정을 해주어야한다고 한다. VB편집기 상단 - 도구 - 참조에서Microsoft Scripting Runtime을 체크하면 된다그런데 엑셀2016 기준으로 위의 체크를 하지 않아도 작동한다. 왜 그런지는 좀 더 알아봐야 할 듯 해당 기능을 이용한 매크로 예제이다. exists메서드가 유용하게 사용된 경우. 기본적인 몇가지 코드. 위의 링크에서는 복사가 안되어서...
이전 글과 비슷한 기법인데, 조건이 하나 더 추가되었습니다. 위와 같이 날짜 옆에 텍스트가 있고, 특정 날짜에 해당하는 텍스트가 "중복없이" 몇개가 있는지 구하는 문제입니다.이전글에서 날짜라는 조건을 주지 않고, 일정 범위 내의 텍스트 개수를 중복없이 구하는 수식은 다음과 같았습니다.=SUMPRODUCT((A1:D2"")/(1-(A1:D2"")+COUNTIF(A1:D2,A1:D2))) 이번에는 "주어진 날짜와 같은 날짜"라는 조건이 추가로 주어졌습니다.위의 그림은 1월1일에 해당하는 텍스트의 개수를 중복없이 구하는 수식을 보여줍니다. (하나의 값만 구하므로 절대주소표시는 하지 않았습니다만, D열에 여러 날짜를 준다면 D2를 제외한 나머지 셀주소는 모두 절대주소로 표시해야합니다) 수식을 쓰면 다음과 같습니..