[google-sheets] Google 스프레드 시트의 동일한 열에 값이 중복되면 셀을 강조 표시하는 방법은 무엇입니까?

같은 열에 값이 중복되면 Google 스프레드 시트 강조 표시 셀 수식을 찾고 있습니다.

누구 든지이 쿼리에 대해 나를 도울 수 있습니까?



답변

이 시도:

  1. 전체 열을 선택하십시오
  2. 형식을 클릭하십시오
  3. 조건부 서식을 클릭하십시오.
  4. 다른 규칙 추가를 클릭 하거나 기존 / 기본 규칙을 편집하십시오.
  5. 다음과 같은 경우 서식 셀 설정 .Custom formula is
  6. 값을 다음으로 설정하십시오 =countif(A:A,A1)>1(또는 A선택한 열로 변경 하십시오)
  7. 서식 스타일을 설정하십시오.
  8. 범위가 열에 적용되는지 확인하십시오 (예 🙂 A1:A100.
  9. 완료를 클릭하십시오

A1 : A100 셀에 기록 된 내용은 모두 확인되며 중복이 있으면 (두 번 이상 발생하면) 색상이 표시됩니다.

쉼표 ( ,)를 소수점 구분 기호로 사용하는 로캘의 경우 인수 구분 기호는 세미콜론 ( ;) 일 가능성이 높습니다 . 즉, 시도하십시오 :=countif(A:A;A1)>1 , 대신 .

여러 열의 경우을 사용하십시오 countifs.


답변

반면 zolley의 대답은 질문에 완벽하게 맞아, 여기보다 일반적인 모든 범위의 솔루션 플러스 설명입니다 :

    =COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1

이 예에서는 범위를 사용합니다 A1:C50. 첫 번째 매개 변수 ( $A$1:$C$50)는 중복을 강조 표시 할 범위로 바꿔야합니다!


중복을 강조 표시하려면 :

  1. 중복 표시가 필요한 전체 범위를 선택하십시오.
  2. 메뉴에서 : Format>Conditional formatting...
  3. 에서 Apply to range규칙을 적용 할 범위를 선택하십시오.
  4. 에서 Format cells if선택 Custom formula is드롭 다운에.
  5. 텍스트 상자에 단계 (3)에 맞게 범위를 조정하여 주어진 공식을 삽입하십시오.

왜 작동합니까?

COUNTIF(range, criterion), 모든 셀과 비교한다 range받는 criterion방식과 유사하게 처리된다. 특수 연산자가 제공되지 않으면 범위 내의 모든 셀을 지정된 셀과 비교하고 규칙과 일치하는 것으로 밝혀진 셀 수 (이 경우 비교)를 반환합니다. 고정 범위를 사용하고 있습니다.$항상 전체 범위를 볼 수 있도록 기호 포함)를 있습니다.

두 번째 블록 INDIRECT(ADDRESS(ROW(), COLUMN(), 4)) 은 현재 셀의 내용을 반환합니다. 이것이 셀 안에 있으면 문서는 순환 의존성에 대해 울었을 것입니다. 그러나이 경우 수식은 변경하지 않고 셀에있는 것처럼 평가됩니다.

ROW()COLUMN()상기 행 반환 번호 와 열 번호 를 각각의 소정의 셀을. 매개 변수를 제공하지 않으면 현재 셀이 반환됩니다 (예 : 1을 기준으로 B33 ROW(), 2를 반환).COLUMN() ).

그런 다음 ADDRESS(row, column, [absolute_relative_mode])숫자 행과 열을 셀 참조로 변환하는 데 사용합니다 (예 : B3셀 컨텍스트 안에있는 동안 주소 또는 내용을 모르므로 비교할 내용이 필요함). 세 번째 매개 변수는 형식화를 처리하고 4형식화 INDIRECT()좋아요를 리턴합니다 .

INDIRECT(), 셀 참조 를 가져 와서 내용을 반환합니다. 이 경우 현재 셀의 내용입니다. 그런 다음 다시 시작으로COUNTIF() 범위의 모든 셀을 테스트하고 카운트를 반환합니다.

마지막 단계는 수식을 논리식으로 만들어 부울을 반환하는 것 COUNTIF(...) > 1입니다. 은 > 1우리가 우리의 동일 적어도 하나 개의 셀이 알고 있기 때문에 사용된다. 그것은 우리의 세포이며, 범위 내에 있으며, 따라서 그 자체와 비교 될 것입니다. 따라서 중복을 나타내려면 우리와 일치하는 둘 이상의 셀을 찾아야합니다.


출처 :


답변

@zolley의 답변이 옳습니다. Gif와 참조 단계를 추가하기 만하면됩니다.

  1. 고토 메뉴 Format > Conditional formatting..
  2. 찾기 Format cells if..
  3. =countif(A:A,A1)>1필드에 추가Custom formula is
    • 참고 : A자신의 열로 문자 를 변경하십시오 .

여기에 이미지 설명을 입력하십시오


답변

“텍스트 포함”드롭 다운 메뉴에서 “사용자 정의 수식 :”을 선택하고 “= countif (A : A, A1)> 1″(따옴표없이)을 작성하십시오.

zolley가 제안한 대로 했지만, 약간 수정해야합니다 . “Text Contains” 대신 “Custom formula is”를 사용하십시오 . 그런 다음 조건부 렌더링이 작동합니다.

메뉴 스크린 샷


답변

중복 표시 (C 열) :

=COUNTIF(C:C, C1) > 1

설명 : C1여기에서는 C의 첫 번째 행을 참조하지 않습니다.이 수식은 조건부 서식 규칙에 의해 평가되기 때문에 수식이 적용되는지 확인하는 경우 C1현재 평가중인 행을 효과적으로 나타냅니다. 하이라이트를 적용해야하는지 확인하십시오. ( 그것이 INDIRECT(C &ROW())당신에게 무언가를 의미한다면, 더 비슷 합니다! ). 기본적으로 조건부 서식 수식을 평가할 때 행 1을 참조하는 항목은 수식이 실행되는 행과 비교하여 평가됩니다. ( 그렇습니다. C2를 사용하는 경우 현재 평가중인 행 바로 아래의 행 상태를 점검하도록 규칙에 요청합니다. )

따라서 이것은 C1열 전체에있는 (평가중인 현재 셀) 에 무엇이든지 발생하고 그 중 하나 이상이있는 C경우 (즉, 값이 중복 됨) 다음을 강조 표시합니다. 전체적으로)로 평가됩니다TRUE .

첫 번째 사본 만 강조 표시하십시오.

=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)

설명 : 두 경우에만 하이라이트 COUNTIFS는 TRUE(그들이 안에 표시 AND()).

평가할 첫 번째 항 ( COUNTIF(C:C, C1) > 1)은 첫 번째 예와 동일합니다. 그건 TRUE에 어떤 경우에만 C1중복이있다. ( 현재 강조 표시되어야하는지 확인하기 위해 현재 행 C1효과적으로 참조 함)을 기억하십시오 .

두 번째 용어 ( COUNTIF(C$1:C1, C1) = 1)는 비슷해 보이지만 세 가지 중요한 차이점이 있습니다.

열 전체를 검색하지는 않지만 C(첫 번째 열과 같이 C:C) 검색 대신 첫 번째 행에서 검색을 시작합니다. C$1
( $강제 1로 평가되는 행이 아닌 행을 문자 그대로 보도록 강제합니다 ).

그런 다음 평가중인 현재 행에서 검색을 중지합니다 C1.

마지막으로 말합니다 = 1.

따라서 TRUE현재 평가중인 행 위에 중복이없는 경우 에만 해당 됩니다 (즉, 첫 번째 중복이어야 함).

첫 번째 용어 ( TRUE이 행에 중복이 있는 경우 에만 해당)와 결합하면 첫 번째 단어 만 강조 표시됩니다.

두 번째 이후 사본을 강조 표시하십시오.

=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)

설명 : 첫 번째 표현식은 항상 동일 TRUE합니다 (현재 평가 된 행이 전혀 중복되지 않은 경우).

두 번째 용어는 부정 된 것을 제외하고는 마지막 용어와 정확히 동일 NOT()합니다. 따라서 첫 번째 발생을 무시합니다.

마지막으로 세 번째 항은 2, 3 등의 중복 항목을 선택 COUNTIF(C1:C, C1) >= 1하여 현재 평가 된 행 (에서) C1에서 검색 범위를 시작합니다 C1:C. 그런 다음 TRUE이 항목 아래에 하나 이상의 복제본이있는 경우 에만 (강조 적용) 평가하고 (이를 포함하여) : >= 1( 그렇지 않으면 마지막 복제본이 무시 >=되지 않아야 함 >).


답변

나는 모든 옵션을 시도했지만 아무도 효과가 없었습니다.

Google 앱 스크립트 만 도움이되었습니다.

출처 : https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets

문서 상단에

1.- 도구> 스크립트 편집기로 이동

2.- 스크립트 이름을 설정하십시오

이 코드를 붙여 넣습니다.

function findDuplicates() {
  // List the columns you want to check by number (A = 1)
  var CHECK_COLUMNS = [1];

  // Get the active sheet and info about it
  var sourceSheet = SpreadsheetApp.getActiveSheet();
  var numRows = sourceSheet.getLastRow();
  var numCols = sourceSheet.getLastColumn();

  // Create the temporary working sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var newSheet = ss.insertSheet("FindDupes");

  // Copy the desired rows to the FindDupes sheet
  for (var i = 0; i < CHECK_COLUMNS.length; i++) {
    var sourceRange = sourceSheet.getRange(1,CHECK_COLUMNS[i],numRows);
    var nextCol = newSheet.getLastColumn() + 1;
    sourceRange.copyTo(newSheet.getRange(1,nextCol,numRows));
  }

  // Find duplicates in the FindDupes sheet and color them in the main sheet
  var dupes = false;
  var data = newSheet.getDataRange().getValues();
  for (i = 1; i < data.length - 1; i++) {
    for (j = i+1; j < data.length; j++) {
      if  (data[i].join() == data[j].join()) {
        dupes = true;
        sourceSheet.getRange(i+1,1,1,numCols).setBackground("red");
        sourceSheet.getRange(j+1,1,1,numCols).setBackground("red");
      }
    }
  }

  // Remove the FindDupes temporary sheet
  ss.deleteSheet(newSheet);

  // Alert the user with the results
  if (dupes) {
    Browser.msgBox("Possible duplicate(s) found and colored red.");
  } else {
    Browser.msgBox("No duplicates found.");
  }
};

4.- 저장하고 실행

3 초도 채되지 않아 중복 행이 채색되었습니다. 스크립트를 복사하여 붙여 넣기 만하면됩니다.

Google Apps 스크립트에 대해 모른다면이 링크가 도움이 될 수 있습니다.

https://zapier.com/learn/google-sheets/google-apps-script-tutorial/

https://developers.google.com/apps-script/overview

이게 도움이 되길 바란다.


답변