수식을 사용하여 열에서 중복 항목을 찾으려면 어떻게해야합니까?


11

열에서 중복 항목을 찾는 수식을 만든 사람이 있습니까? 예를 들면 다음과 같습니다.

a
b
c
d
b
d

=somefunction(A1:A6)

산출:

b
d

=unique()함수 가 있다는 것을 알고 기본적으로 =not_unique()함수입니다. 코드를 사용하지 않고 생성 할 수 있는지 궁금합니다.


다음은이 스레드의 한 예입니다. stackoverflow.com/questions/19843406/… 이것에 대해 몇 가지 아이디어를 얻을 수 있습니다.
Vembu

잠깐, 당신이 찾고있는 것이 바로 not_unique기능입니까? 당신은 고유의 (중복)하지 않는 필드가 아닌 필드를 찾고있을 것 입니다 독특한.
David Mulder

답변:


16

추가 열이없는 가능한 솔루션은 다음과 같습니다.

=FILTER(UNIQUE(A2:A7), ARRAYFORMULA( COUNTIF(A2:A7,UNIQUE(A2:A7))>1 ))

여기에서 준비된 예를 참조하십시오 : 중복 찾기


3

내가 찾은 (수식 사용) 유일한 방법은 새로운 count열 을 소개하는 것 입니다.

A2에서 시작하여 열에 값이 나열 되면 수식 =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))을 입력하고 B2아래로 끌어 복사하십시오. 이것은 다음을 제공합니다.

| A: VALUE  | B: COUNT |
|-----------|----------|
|     a     |     1    |
|     b     |     2    |
|     c     |     1    |
|     d     |     2    |
|     b     |     2    |
|     d     |     2    |

각 값의 발생 횟수를 확인 했으므로의 A값을 기준으로 열을 필터링 할 수 있습니다 B. 셀 C2에 수식을 삽입하십시오 =UNIQUE(FILTER(A2:A7, B2:B7 > 1)). 이것은 다음을 제공합니다.

| A: VALUE  | B: COUNT | C: DUPS |
|-----------|----------|---------|
|     a     |     1    |    b    |
|     b     |     2    |    d    |
|     c     |     1    |         |
|     d     |     2    |         |
|     b     |     2    |         |
|     d     |     2    |         |

수식 설명

=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))

  • filter절은 A열을 검사하고 셀과 동일한 값을 가진 셀을 찾습니다 A2( A2공식을 복사 할 때 해당 셀로 대체 됨).
  • counta 숫자를 포함하여 값을 계산합니다.

=UNIQUE(FILTER(A2:A7, B2:B7 > 1))

  • 이것은 filter열에 B대한 값을 검사하고 column > 1에서 해당 값을 반환합니다 A. 이 unique함수는 단순히 각 값을 한 번만 반환하므로 b예를 들어 두 번 얻지 않습니다.

그러나 보다 우아한 방법은 스크립트 함수를 사용하는 것입니다.

function dups(rows) {
  var values = {};
  var duplicates = [];
  for (var i = 0; i < rows.length; i++) {
    var value = rows[i][0];
    if (values[value] !== undefined && duplicates.indexOf(value) == -1) {
      duplicates.push(value);
    } else {
      values[value] = true
    }
  }
  return duplicates;
}

도구 → 스크립트 편집기로 이동 하여 위 코드를 붙여 넣고 저장하십시오. 이제 =dups(A2:A7)어디서나 수식을 입력하여 함수를 호출 할 수 있습니다 . 이것은에서 찾은 중복을 반환합니다 A2:A7.


두 가지 가능성을 보여주기 위해 예제 스프레드 시트를 설정했으며 자유롭게보고 복사 할 수 있습니다.


var values ​​= {}var values ​​= [] 여야 합니다. 맞습니까?
Jacob Jan Tuinstra

1
사실은 아닙니다. values는 배열이 아닌 키-값 맵으로 사용되므로 이미 values[property]존재하거나 존재하지 않는 특정 값을 처리했는지 쉽게 확인할 수 있습니다.
Vidar S. Ramdal

1
배열로 밀고 있다고 생각했습니다 .... 코드를 테스트했으며 d, d, d, d 와 같이 중복 항목이 계속 표시 됩니다. 제공 한 수식 솔루션은 그렇게하지 않습니다.
Jacob Jan Tuinstra

1
나는 물건을 의미했다.
Jacob Jan Tuinstra

1
@JacobJanTuinstra 아, 그렇습니다. 코드를 수정했습니다.
Vidar S. Ramdal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.