C#에서 PowerPoint 파일을 보는 방법
Iron Software 팀 작성. 스프레드시트 작업을 프로그램적으로 자동화하려는 경우, IronXL 제품 페이지를 방문하여 .NET용 전문 Excel 라이브러리에 대해 더 알아보십시오.
전문 데이터 관리에서 정보 무결성을 유지하는 것이 필수적입니다. 데이터 중복, 일반적으로 중복 항목으로 표시되는 것은 분석 모델, 금융 보고서 및 데이터베이스 동기화의 정확성을 크게 위협할 수 있습니다. 광범위한 고객 명단을 관리하든 복잡한 일반 원장을 감사하든, Excel에서 중복 항목을 강조하는 방법을 아는 것은 고품질의 실행 가능한 데이터를 보장하는 기본 기술입니다.
이러한 중복 항목을 식별하는 가장 빠른 방법은 Excel의 내장된 조건부 서식 기능 엔진을 통해서입니다. 데이터 범위를 선택하고 키보드 조합 Alt -> H -> L -> H -> D를 사용하여 중복 값 대화 상자를 즉시 트리거할 수 있습니다. 이렇게 하면 스프레드시트에 시각적 레이어를 적용할 수 있습니다 이는 기본 값을 변경하지 않고 모든 반복 데이터 인스턴스를 강조합니다.
방법 1: 가장 빠른 방법 (리본 기반 조건부 서식)
대부분의 작업에서는 복잡한 공식이나 스크립트가 필요하지 않습니다. Excel은 특정 범위의 셀 내에서 동일한 값을 검색하기 위해 고안된 전용 GUI 도구를 제공합니다.
리본 인터페이스를 사용하여 값을 강조합니다
- 대상 범위 선택: 분석할 셀을 클릭하고 드래그하십시오. 또는 열 머리글 (예: A열)을 클릭하여 전체 데이터를 선택할 수 있습니다.

- 상단 리본의 홈 탭으로 이동합니다.

- 스타일 그룹의 조건부 서식을 클릭합니다.

- 셀 강조 규칙을 선택한 후 주어진 범위에서 중복 항목을 강조하려면 중복 항목을 클릭하십시오.

- 나타나는 대화 상자에서 왼쪽 드롭다운이 중복으로 설정되어 있는지 확인하십시오. 선호하는 서식 스타일을 선택하고 (예: "어두운 빨간 텍스트가 있는 밝은 빨간 채우기") 확인을 클릭하십시오.

키보드 단축키 사용
손을 키보드에 두고 싶은 경우, 다음 순서로 사용하십시오:
-
Alt: 리본 단축키를 활성화합니다.
-
H: 홈 탭을 선택합니다.
-
L: 조건부 서식 메뉴를 엽니다.
-
H: 셀 강조 규칙을 선택합니다.
- D: 중복 값 대화 상자를 엽니다.
강조된 중복 값 예제

방법 2: 사용자 지정 공식 강조 (COUNTIF 함수)
기본 "중복 값" 도구는 간단한 확인에 좋지만 세부 사항이 부족합니다. 값이 두 번 이상 나타날 경우 강조하거나 특정 열의 데이터에 따라 전체 행을 강조하려면 논리 공식을 사용해야 합니다.
중복 항목 강조를 위한 공식 사용의 논리
우리는 COUNTIF 함수를 사용하여 범위 내 값의 빈도를 결정합니다. 빈도가 1보다 크면 조건이 TRUE를 반환하고 서식이 적용됩니다.
구현 단계:
- 첫 번째 기록부터 시작하여 데이터 범위를 선택합니다 (예: A2:A500).

- 홈 > 조건부 서식 > 새 규칙으로 이동합니다.

- 공식을 사용하여 서식을 지정해야 하는 셀 결정을 선택합니다.

- 수식 막대에 입력합니다:
=COUNTIF($A$2:$A$500, A2) > 1
=COUNTIF($A$2:$A$500, A2) > 1
The provided C# code snippet seems to be a fragment of an Excel formula rather than C# code. However, if you intended to convert a C# code snippet that uses a similar logic or functionality, please provide the complete C# code, and I will convert it to VB.NET for you.
- 서식을 클릭하고, 채우기 탭에서 채우기 색상을 선택하고 확인을 클릭합니다.
이제 위 공식 사용 덕분에 중복 행이 강조되어 찾기 쉬워졌습니다.

공식 사용 이유
공식 끝에 있는 정수를 변경하여 더 구체적인 규칙을 만들 수 있습니다. 예를 들어, "극단적" 중복 (예: 5번 이상 나타나는 항목)만 신경 쓴다면:
=COUNTIF($A$2:$A$500,A2) ≥ 5
=COUNTIF($A$2:$A$500,A2) ≥ 5
The provided C# code snippet appears to be incomplete or incorrect as it seems to be a fragment of an Excel formula rather than C# code. If you intended to provide a C# code snippet that involves a similar logic or operation, please provide the complete and correct C# code for conversion to VB.NET.
방법 3: 다중 열 기준을 기반으로 중복 데이터 강조
종종 중복은 단일 셀로 정의되지 않고 셀 조합이나 여러 기준에 의해 정의됩니다. 예를 들어, "John Smith"라는 두 명의 고객이 있을 수 있지만, 같은 "우편 번호"를 공유해야만 중복으로 간주됩니다.
연결 트릭 (도우미 열)
- 데이터 옆에 "도우미 열"을 만듭니다.
- 앰퍼샌드(&)를 사용하여 열을 결합합니다: =$A2 & $B2.
- 새 도우미 열에 방법 1 강조를 적용합니다.
고급 공식 접근
추가 열을 추가하고 싶지 않다면, 조건부 서식 내에서 $COUNTIFS$ (복수형) 공식을 사용할 수 있습니다:
- 데이터 범위를 선택하세요.
- 조건부 서식 > 새 규칙 > 공식을 사용... 3. 다음 공식을 입력합니다 (이름은 A에 있고 우편 번호는 B에 있다고 가정할 때):
=COUNTIFS($A$2:$A$9,$A2,$B$2:$B$9,$B2)>1
=COUNTIFS($A$2:$A$9,$A2,$B$2:$B$9,$B2)>1
This C# code appears to be a fragment of an Excel formula rather than a complete C# statement. However, if you want to use this logic in VB.NET, you would typically use Excel Interop or a library like EPPlus to interact with Excel files. Below is an example of how you might write a similar logic in VB.NET using Excel Interop:
net
This code assumes you have a reference to the Microsoft Excel Object Library in your project. Adjust the workbook path and sheet index as necessary for your specific use case.
- 서식을 설정합니다. 이제 Excel은 목록의 다른 항목과 이름 그리고 우편 번호가 모두 일치하는 행만 강조합니다.

방법 4: 열 중복을 기준으로 전체 행을 강조합니다
일반적으로 전문적인 요구 사항은 특정 고유 식별자 (예: 청구서 ID 또는 직원 번호)가 중복될 때 전체 행을 강조하는 것입니다. 일반 도구는 이것을 하지 않습니다; 셀 자체만 강조합니다.
- (헤더를 제외한) 전체 테이블을 선택합니다. 활성 셀 (선택한 범위에서 흰색으로 유지되는 셀)이 데이터의 첫 번째 행에 있는지 확인하십시오.

- 조건부 서식 > 새 규칙 > 공식을 사용...을 열고 3. "중복 확인" 열이 A 열이라고 가정합니다. 다음 공식을 입력합니다:
=COUNTIF($A$2:$A$9,$A2)>1
=COUNTIF($A$2:$A$9,$A2)>1
This C# code snippet appears to be a fragment of an Excel formula rather than a complete C# code. However, if you are looking to convert a similar logic into VB.NET code, you might be dealing with a scenario where you need to check if a value appears more than once in a range. Here's how you might write a similar logic in VB.NET:
net
This assumes you are working within an Excel interop context in VB.NET. If this is not what you intended, please provide more context or clarify the request.
참고: 'A' 앞의 달러 기호 ($)가 중요합니다. 수식을 A 열에 고정하지만 Excel이 테이블의 나머지를 확인하면서 행 번호가 변경될 수 있도록 합니다.
- 서식을 선택하고 적용합니다.

방법 4: 고유 값 찾기 (반대로 강조)
때로는 목표가 중복 항목을 찾는 것이 아니라 "고아", 한 번만 나타나는 값을 식별하는 것입니다. 실종 항목이나 일회성 거래를 찾는 조정 작업에서 이는 중요합니다.
- 강조하려는 범위를 선택합니다.
-
조건부 서식 > 셀 강조 규칙 > 중복 값...으로 이동합니다.
- 왼쪽 드롭다운에서 "중복"을 고유로 변경합니다.

- 나머지 데이터 세트와 구별하기 위해 대조되는 색상 (예: 녹색 채우기)을 선택합니다.
고유 기록 대 중복 값 확인을 위한 규칙 출력

방법 5: 자주 수행되는 감사용 VBA 매크로
매일 여러 작업책의 중복 항목을 강조하는 작업을 수행하는 경우, 작은 VBA (응용 프로그램을 위한 비주얼 베이직) 매크로가 프로세스를 자동화할 수 있습니다. 이는 외부 코드로 이동하지 않고 Excel 내에서 작업을 처리하는 가장 "기술적인" 방법입니다.
-
Alt + F11을 눌러 VBA 편집기를 엽니다.
- 삽입 > 모듈로 이동합니다.
- 다음 코드를 붙여넣습니다:
Sub HighlightDuplicates()
Dim Rng As Range
Set Rng = Selection
Rng.FormatConditions.AddUniqueValues
Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority
Rng.FormatConditions(1).DupeUnique = xlDuplicate
With Rng.FormatConditions(1).Font
.Color = -16383844
End With
With Rng.FormatConditions(1).Interior
.Color = 13551615
End With
End Sub
Sub HighlightDuplicates()
Dim Rng As Range
Set Rng = Selection
Rng.FormatConditions.AddUniqueValues
Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority
Rng.FormatConditions(1).DupeUnique = xlDuplicate
With Rng.FormatConditions(1).Font
.Color = -16383844
End With
With Rng.FormatConditions(1).Interior
.Color = 13551615
End With
End Sub
Option Strict On
Sub HighlightDuplicates()
Dim Rng As Range
Rng = Selection
Rng.FormatConditions.AddUniqueValues()
Rng.FormatConditions(Rng.FormatConditions.Count).SetFirstPriority()
Rng.FormatConditions(1).DupeUnique = xlDuplicate
With Rng.FormatConditions(1).Font
.Color = -16383844
End With
With Rng.FormatConditions(1).Interior
.Color = 13551615
End With
End Sub
- 편집기를 닫습니다. 이제 범위를 선택하고 이 매크로를 실행하여 빨간 강조를 즉시 적용할 수 있습니다.
일반적인 문제 및 문제 해결
정확한 설정이 되어 있어도 Excel이 중복 항목을 강조하지 않거나 고유해 보이는 셀을 강조할 수 있습니다. 대개 이는 데이터 서식의 불일치 때문입니다.
1. 선행 및 후행 공백
Excel은 "Data"와 "Data "를 두 개의 다른 값으로 취급합니다. 정보가 CRM 또는 웹 데이터베이스에서 내보내졌다면 무조건 공백이 포함되어 있을 가능성이 높습니다.
- 해결책: 중복 검사 전에 텍스트를 정리하기 위해 도우미 열에서 =TRIM() 함수를 사용하십시오.
2. 텍스트로 저장된 숫자
숫자 $100$을 포함하는 셀은 "100"이라는 텍스트를 포함하는 셀과 일치하지 않습니다.
- 해결책: 열을 선택하고 데이터 탭으로 이동하여 텍스트를 열로를 선택한 다음 완료를 클릭합니다. 이것은 일반적으로 Excel이 데이터 유형을 다시 평가하도록 강요합니다.
3. 대소문자 구분
Excel의 표준 중복 도구는 대소문자를 구분하지 않습니다. "APPLE"과 "apple"을 같은 것으로 간주합니다. 워크플로가 대소문자를 구분하는 일치를 요구하는 경우 (예: 대소문자를 구분하는 비밀번호 또는 ID), $SUMPRODUCT$ 및 $EXACT$를 조합한 공식을 사용해야 합니다:
=SUMPRODUCT(--EXACT($A$2:$A$500,A2))>1
=SUMPRODUCT(--EXACT($A$2:$A$500,A2))>1
The provided C# code appears to be a fragment of an Excel formula rather than C# code. If you intended to convert a C# code snippet, please provide the correct C# code. If this is indeed an Excel formula, it does not translate directly to VB.NET code, as it is specific to Excel's formula language. Please clarify your request if needed.
4. 줄바꿈 없는 공백
웹에서 복사한 데이터에서 흔히 볼 수 있는 "줄바꿈 없는 공백" (ASCII 160)은 표준 TRIM 함수로 제거되지 않습니다.
- 해결책: 찾기 및 바꾸기 (Ctrl+H)를 사용하십시오. 숫자 패드에서 Alt를 누르고 0160을 "찾기" 상자에 입력한 후 "바꾸기"는 빈 상태로 두고 모두 바꾸기를 클릭하십시오.
강조를 넘어: 중복 제거
중복 행을 강조한 후에는 중복 데이터를 삭제하고 싶을 수 있습니다.
-
데이터 탭으로 이동합니다.
-
데이터 도구 그룹에서 중복 제거를 클릭합니다.
- 행이 중복으로 간주되기 위해 일치해야 하는 열을 선택합니다.
경고: 이 작업은 영구적입니다. 이 도구를 실행하기 전에 항상 원래 데이터를 백업합니다.
개발자를 위한: IronXL로 자동화된 중복 감지
Excel의 GUI는 수동 데이터 입력에 충분하지만, 기업 수준의 애플리케이션은 이러한 확인이 프로그램적으로 발생해야 하는 경우가 많습니다. 사용자 업로드를 처리하거나 보고서를 생성하는 .NET 애플리케이션을 구축 중인 경우, 수동 클릭은 옵션이 아닙니다.
IronXL을 사용하면 개발자가 스타일과 서식을 완전히 제어할 수 있는 Microsoft Office Interop의 오버헤드 없이 Excel 파일을 조작할 수 있습니다. 고속 중복 검사 및 C# 코드를 통해 직접 조건부 서식을 적용할 수 있습니다.
데이터 감사에 IronXL을 사용해야 하는 이유?
- 성능: Excel GUI보다 수백만 개의 셀을 훨씬 빠르게 스캔합니다.
- 자동화: 중복 검사를 CI/CD 파이프라인 또는 백엔드 서비스에 통합합니다.
- 서식 제어: 중복 기록에 프로그램적으로 헥스 코드 색상, 테두리 및 폰트를 적용합니다.
Code Snippet: Identifying Duplicates in C
다음 예제는 특정 열에서 반복된 값을 식별하고 시각적으로 강조하는 방법을 보여줍니다.
using IronXL;
using System.Linq;
// Load your workbook
WorkBook workbook = WorkBook.Load("Quarterly_Report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Define the range you want to check (e.g., Column B)
var range = sheet["B2:B1000"];
// Identify duplicate values using LINQ logic
var duplicateValues = range.GroupBy(cell => cell.Value.ToString())
.Where(group => group.Count() > 1)
.Select(group => group.Key);
// Iterate through the range and apply a "Duplicate" style
foreach (var cell in range)
{
if (duplicateValues.Contains(cell.Value.ToString()))
{
cell.Style.BackgroundColor = "#FFC7CE"; // Light Red
cell.Style.Font.Color = "#9C0006"; // Dark Red
}
}
// Save the workbook with highlighted duplicates
workbook.SaveAs("Audited_Report.xlsx");
using IronXL;
using System.Linq;
// Load your workbook
WorkBook workbook = WorkBook.Load("Quarterly_Report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Define the range you want to check (e.g., Column B)
var range = sheet["B2:B1000"];
// Identify duplicate values using LINQ logic
var duplicateValues = range.GroupBy(cell => cell.Value.ToString())
.Where(group => group.Count() > 1)
.Select(group => group.Key);
// Iterate through the range and apply a "Duplicate" style
foreach (var cell in range)
{
if (duplicateValues.Contains(cell.Value.ToString()))
{
cell.Style.BackgroundColor = "#FFC7CE"; // Light Red
cell.Style.Font.Color = "#9C0006"; // Dark Red
}
}
// Save the workbook with highlighted duplicates
workbook.SaveAs("Audited_Report.xlsx");
Imports IronXL
Imports System.Linq
' Load your workbook
Dim workbook As WorkBook = WorkBook.Load("Quarterly_Report.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
' Define the range you want to check (e.g., Column B)
Dim range = sheet("B2:B1000")
' Identify duplicate values using LINQ logic
Dim duplicateValues = range.GroupBy(Function(cell) cell.Value.ToString()) _
.Where(Function(group) group.Count() > 1) _
.Select(Function(group) group.Key)
' Iterate through the range and apply a "Duplicate" style
For Each cell In range
If duplicateValues.Contains(cell.Value.ToString()) Then
cell.Style.BackgroundColor = "#FFC7CE" ' Light Red
cell.Style.Font.Color = "#9C0006" ' Dark Red
End If
Next
' Save the workbook with highlighted duplicates
workbook.SaveAs("Audited_Report.xlsx")
산출

중복 감지 방법 비교
|방법|최적 대상|데이터 크기|기술 수준| |---|---|---|---| |리본 도구|빠르고 시각적인 "일회성" 확인. |작은/중간|초보자| |$COUNTIF$|특정 임계값 (> 2번 나타남). |중간|중급| |전체 행 공식|감사 중 테이블을 읽기 쉽게 만듭니다. |중간|중급| |Power Query|무거운 데이터 세트 및 ETL 워크플로. |대형|고급| |VBA 매크로|로컬 파일에 동일한 검사를 반복합니다. |중간|고급| |IronXL (.NET)|사용자 파일을 처리하는 앱을 빌드합니다. |무제한|개발자|
요약 및 모범 사례
중복이 없는 환경을 유지하는 것은 단발성 작업이 아니라 지속적인 과정입니다. 데이터의 가장 높은 수준의 정확성을 보장하기 위해 다음 산업 모범 사례를 따르십시오:
-
항상 먼저 검증하기: 강조하기 전에 TRIM 및 CLEAN 함수를 사용하여 데이터가 "표준화"되었는지 확인하십시오.
-
시각적 단서 사용: 데이터를 입력하는 동안 조건부 서식을 사용하여 실시간으로 오류를 잡습니다.
-
삭제 전 감사하기: 강조 표시를 시각적으로 검사할 때까지 "중복 제거"를 사용하지 마십시오. 일부 "중복"은 실제로 정당할 수 있습니다 (예: 같은 날 동일한 고객의 두 개의 다른 주문).
- 가능할 때 자동화: 매주 월요일 아침에 동일한 정리 작업을 수행하는 경우 VBA 매크로 또는 IronXL과 같은 프로그램 솔루션을 사용하여 수동 작업 시간을 절약하세요.
Excel 기술을 다음 단계로 끌어올릴 준비가 되셨습니까? 데이터 분석가든 소프트웨어 엔지니어든 작업에 적합한 도구를 갖추는 것이 중요합니다. IronXL의 무료 체험판을 사용해보세요. 코드로 복잡한 스프레드시트 로직을 관리하는 것이 얼마나 쉬운지 알아보세요.




