2種簡單的方法來防止Excel中的列中的值重複

立即分享:

如果要避免在Excel的列中輸入重複的值,可以參考本文。 在這裡,我們將向您分享2種簡單的方法。

有時,當您編輯Excel工作表時,您可能需要確保列中的數據是唯一的,即防止列中的值重複。 每次在列中輸入重複值時,它都要求Excel自動提醒您。 此後,我們將與您分享兩種快速獲取方法。

方法1:通過“數據驗證”進行預防

  1. 首先,選擇特定列(例如“ A列”)中的所有單元格。選擇列A
  2. 然後,轉到“數據”選項卡,然後單擊“數據工具”組中的“數據驗證”按鈕。數據驗證
  3. 接下來,在彈出對話框的“設置”選項卡上,從“允許”下拉列表中選擇“自定義”選項。
  4. 之後,在“公式”字段中輸入以下公式。

= COUNTIF($ A $ 1:$ A $ 20,A1)= 1

數據驗證設置

  1. 稍後,在當前對話框中切換到“錯誤警報”選項卡。
  2. 隨後,您可以根據需要自定義錯誤消息,例如,將“重複值”指定為錯誤標題,並將“該值輸入到同一列中!” 作為錯誤消息。指定錯誤警報
  3. 最後,單擊“確定”。
  4. 現在,您可以嘗試一下。
  • 首先,在單元格A1中輸入一個值。
  • 然後,在單元格A2中輸入相同的值。
  • 您將立即收到錯誤消息,如以下屏幕截圖所示。列中值重複的情況下的錯誤

方法2:使用Excel VBA進行預防

  1. 首先,請參考“觸發Excel VBA編輯器如何在Excel中運行VBA代碼“。
  2. 然後,將以下代碼放入工作表的項目中,例如“ Sheet 1(Sheet 1)”
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim strTargetColumn As String
   Dim nTargetRow As Integer
   Dim nLastRow As Integer
   Dim strMsg As String

   strTargetColumn = Split(Target.Address(, False), "$")(0)
   nTargetRow = Split(Target.Address(, False), "$")(1)
   nLastRow = ActiveSheet.Range(strTargetColumn & ActiveSheet.Rows.Count).End(xlUp).Row

   For nRow = 1 To nLastRow
       If nRow <> nTargetRow Then
          If ActiveSheet.Range(strTargetColumn & nRow).Value = Target.Value Then
             strMsg = "The value has been entered in the same column!"
             MsgBox strMsg, vbExclamation + vbOKOnly, "Duplicate Values"
             Target.Select
             Exit For
          End If
       End If
   Next
End Sub

VBA代碼-防止列中的值重複

  1. 從那時起,每次在任何單元格中輸入一個值時,無論在任何列中,該宏都會自動檢查同一列中的其他值。 如果找到相同的值,您將收到警報,如下圖所示。列中值重複時的自定義警報

競品對比

  優點 缺點
方法1 操作方便 僅可以監視和處理特定列中的數據
方法2 可以監視和處理所有列中的數據 增加病毒或惡意軟件攻擊的風險

取回寶貴的Excel數據

Excel容易崩潰。 而且,每當它崩潰時,當前打開的Excel文件都會像微風一樣損壞。 因此,為了避免丟失寶貴的Excel數據,不僅應定期備份它們,而且還必須掌握出色的數據。 xls恢復 工具,例如 DataNumen Excel Repair。 如果嚴重的Excel數據損壞,它將很有用。

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 損壞的mdf 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。