跳至頁尾內容
EXCEL 工具

如何在C#中查看PowerPoint文件

由Iron Software團隊撰寫。 如果您希望透過程式化操作自動化試算表任務,請務必造訪IronXL產品頁面以了解更多有關我們專業的.NET Excel程式庫。

在專業資料管理中,保持資訊完整性至關重要。 資料冗餘,通常以重複輸入的形式呈現,可以大大影響分析模型、財務報告和資料庫同步的準確性。 無論您是管理龐大的客戶名單還是審計複雜的總分類賬,知道如何在Excel中突出顯示重複項是確保高質量、可操作資料的基本技能。

最快識別這些冗餘的方法是使用Excel內建的條件格式功能引擎。通過選擇您的資料範圍並使用鍵盤序列Alt -> H -> L -> H -> D,您可以即時觸發重複值對話框。 這允許您將視覺層應用於試算表,突出顯示每個重複資料的實例,而不改變其底層值。

方法1:最快捷的方法(基於功能區的條件格式)

對於絕大多數任務,您不需要複雜的公式或腳本。Excel提供了一個專門設計的圖形使用者介面工具,專門用於在選擇的單元範圍內掃描相同的值。

使用功能區介面突出顯示值

  1. 選擇目標範圍:點擊並拖動選擇您希望分析的單元。 或者,您可以點擊列標題(例如,列A)以選擇整列資料。

如何在Excel中突出顯示重複項:完整分步指南:圖片1 - 選擇的單元

  1. 導航至頂部功能區的首頁標籤。

如何在Excel中突出顯示重複項:完整分步指南:圖片2 - 導航至首頁標籤

  1. 在樣式組中單擊條件格式

如何在Excel中突出顯示重複項:完整分步指南:圖片3 - 樣式組中的條件格式選項

  1. 選擇突出單元格規則,然後單擊重複值以突出給定範圍內的重複項。

如何在Excel中突出顯示重複項:完整分步指南:圖片4 - 突出單元格規則選項

  1. 在出現的對話框中,確保左側下拉選單設置為重複。 選擇您偏好的格式樣式(例如,"淺紅色填充與深紅色文字")並單擊確定

如何在Excel中突出顯示重複項:完整分步指南:圖片5 - 設定自定義條件格式規則

使用鍵盤快捷鍵

如果您更願意將雙手保持在鍵盤上,請按以下順序使用:

  1. Alt:啟用功能區快捷鍵。

  2. H:選擇首頁標籤。

  3. L:開啟條件格式選單。

  4. H:選擇突出單元格規則。

  5. D:開啟重複值對話框。

突出顯示重複值的範例

如何在Excel中突出顯示重複項:完整分步指南:圖片6 - 如何在Excel中突出顯示重複項的範例輸出

方法2:自定義公式突出顯示(COUNTIF函式)

標準"重複值"工具對於簡單檢查非常出色,但缺乏細緻度。 如果您需要僅在出現超過兩次時突出顯示值,或者需要根據單列資料來突出顯示整行,您必須使用邏輯公式。

使用公式突出重複項的邏輯

我們使用COUNTIF函式來確定值在範圍內的頻率。 如果頻率大於1,條件返回TRUE並應用格式。

實施步驟:

  1. 從第一條記錄開始選擇資料範圍(例如,A2:A500)。

如何在Excel中突出顯示重複項:完整分步指南:圖片7 - 選擇單元格資料範圍

  1. 前往首頁 > 條件格式 > 新規則。

如何在Excel中突出顯示重複項:完整分步指南:圖片8 - 前往新規則

  1. 選擇使用公式來確定要設置格式的單元格。

如何在Excel中突出顯示重複項:完整分步指南:圖片9 - 使用公式找出重複項

  1. 在公式欄中輸入:
=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.
$vbLabelText   $csharpLabel
  1. 單擊格式,在填充標籤下選擇填充顏色,然後單擊確定

現在,我們可以看到重複行因我們使用上述公式而被突出,這使得它們更容易識別。

如何在Excel中突出顯示重複項:完整分步指南:圖片10 - 重複單元格被突出顯示

為什麼使用公式?

通過更改公式末端的整數,您可以建立更具特定性的規則。 例如,如果您只關心"極端"重複(例如,出現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.
$vbLabelText   $csharpLabel

方法3:根據多列條件突出顯示重複資料

通常,重複項並不是由單個單元格定義的,而是由一組單元格或多個條件組合定義的。 例如,您可能有兩個名叫"John Smith"的客戶,但只有在他們也共用同一"郵遞區號"時,才被視為"重複"。

串接技巧(輔助列)

  1. 在您的資料旁邊建立一個"輔助手列"。
  2. 使用&符號組合列:=$A2 & $B2。
  3. 對這個新輔助手列應用方法1的突出顯示。

進階公式方法

如果不想新增額外的列,您可以在條件格式中使用$COUNTIFS$(複數)公式:

  1. 選擇您的資料範圍。
  2. 前往條件格式 > 新規則 > 使用公式...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.
$vbLabelText   $csharpLabel
  1. 設置格式。 Excel現在只會突出那些姓名和郵遞區號同時匹配的行。

如何在Excel中突出顯示重複項:完整分步指南:圖片11 - 基於多個條件的重複資料突出顯示

方法4:基於列重複突出顯示整行

專業需求中一個常見的是,在一個特定唯一標識碼(如發票ID或員工編號)被重複時突出整行。 標準工具不會這樣做; 它只會突出單個單元格。

  1. 選擇整個表格(不包括標題)。 確保活動單元格(在選擇中保持白色)在您的資料的第一行。

如何在Excel中突出顯示重複項:完整分步指南:圖片12 - 已選擇的表格

  1. 打開條件格式 > 新規則 > 使用公式...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.
$vbLabelText   $csharpLabel

注意:'A'前面的美元符號($)至關重要。 它將公式錨定到A列,同時允許行號隨著Excel檢查表的其餘部分而改變。

  1. 選擇您的格式並應用。

如何在Excel中突出顯示重複項:完整分步指南:圖片13 - 重複值突出顯示的表格

方法5:尋找唯一值(反向突出顯示)

有時,目標不是找出重複項,而是識別"孤兒",即僅出現一次的值。 這對尋找遺漏項或單次交易的對帳任務至關重要。

  1. 選擇您要突出的範圍。
  2. 前往條件格式 > 突出單元格規則 > 重複值...

  3. 在左邊的下拉選單中,將"重複"更改為唯一

如何在Excel中突出顯示重複項:完整分步指南:圖片14 - 找到唯一值

  1. 選擇對比色(例如,綠色填充)以區分它們與資料集的其餘部分。

我們的規則輸出以檢查唯一記錄與重複值

如何在Excel中突出顯示重複項:完整分步指南:圖片15 - 帶有突出顯示唯一值的資料

方法5:VBA宏用於頻繁審核

如果您發現自己每天都在多張工作簿中突出顯示重複項,一個小的VBA(即應用程式可視化基本語言)宏可以自動化該過程。 這是在Excel中處理該任務的最"技術性"方法,而無需移動到外部程式碼。

  1. 按下Alt + F11打開VBA編輯器。

  2. 前往 插入 > 模組
  3. 貼上以下程式碼:
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
$vbLabelText   $csharpLabel
  1. 關閉編輯器。 您現在可以選擇任何範圍並運行此宏以立即應用紅色突出顯示。

常見問題及故障排除

即使設置正確,也可能會發現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.
$vbLabelText   $csharpLabel

4. 不間斷空格

在從網路拷貝的大資料中常見,"不間斷空格"(ASCII 160)不會被標準TRIM函式移除。

  • 解決方案:使用查找和替換(Ctrl+H)。 在"查找"框中按住Alt並在數字鍵盤上鍵入0160,然後將"替換"留空並點擊全部替換

超越突出顯示:刪除重複項

一旦突出顯示了重複行,您可能需要刪除重複資料。

  1. 前往資料標籤。

  2. 資料工具組中,單擊刪除重複項

  3. 選擇哪些列必須匹配才能被考慮為重複行。

警告:此操作是永久性的。 在運行此工具之前,請務必保留原始資料的備份。

給開發者:使用IronXL自動化重複檢測

雖然Excel的圖形使用者介面足夠手動資料輸入使用,但企業級應用程式通常需要這些檢查程式化進行。 如果您正在建立處理使用者上傳或生成報告的.NET應用程式,手動點擊不是選項。

IronXL允許開發人員操作Excel檔案,完全控制樣式和格式,而沒有Microsoft Office Interop的負擔。您可以通過C#程式碼直接進行高速度的重複項掃描並應用條件格式。

為什麼在資料審計中使用IronXL?

  • 性能:比Excel圖形使用者介面掃描數百萬個單元快得多。
  • 自動化:將重複檢查整合到您的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")
$vbLabelText   $csharpLabel

輸出

如何在Excel中突出顯示重複項:完整分步指南:圖片16 - 修改檔案並突出重複項

重複檢測方法的比較

方法 最適合 資料大小 技能水平
功能區工具 快速、直觀的"一次性"檢查。 小/中 初學者
$COUNTIF$ 具體阈值(> 2 次出現)。 中級
整行公式 使表在審計中可讀。 中級
查詢 大型資料集和ETL工作流。 高級
VBA宏 重複在本地文件上執行相同的檢查。 高級
IronXL(.NET) 構建處理使用者文件的應用程式。 無限制 開發人員

總結和最佳實踐

保持沒有重複項的環境是一個持續過程,而不是一次性的任務。 為確保最高的資料準確性,請遵循這些行業最佳實踐:

  1. 始終先驗證:在突出顯示之前,使用TRIM和CLEAN函数確保您的数据"规范化"。

  2. 使用視覺提示:在輸入資料時使用條件格式以實時捕獲錯誤。

  3. 刪除前進行審計:在您目視檢查突出顯示之前,切勿使用"移除重複項"。 有些"重複項"可能是合法的(例如,同一客戶在同一天的兩個不同訂單)。

  4. 儘可能自動化:如果您每個星期一早上都在執行相同的清理任務,請考慮使用VBA宏或像IronXL這樣的程式化解決方案來節省數小時的手動工作。

準備好提升您的Excel技能水平了嗎?無論您是資料分析師還是軟體工程師,擁有適合這項工作的工具至關重要。 試試IronXL的免費試用,發現用程式碼管理複雜的試算表邏輯是多麼簡單。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話