如果要避免在Excel的列中輸入重複的值,可以參考本文。 在這裡,我們將向您分享2種簡單的方法。
有時,當您編輯Excel工作表時,您可能需要確保列中的數據是唯一的,即防止列中的值重複。 每次在列中輸入重複值時,它都要求Excel自動提醒您。 此後,我們將與您分享兩種快速獲取方法。
方法1:通過“數據驗證”進行預防
- 首先,選擇特定列(例如“ A列”)中的所有單元格。

- 然後,轉到“數據”選項卡,然後單擊“數據工具”組中的“數據驗證”按鈕。
- 接下來,在彈出對話框的“設置”選項卡上,從“允許”下拉列表中選擇“自定義”選項。
- 之後,在“公式”字段中輸入以下公式。
= COUNTIF($ A $ 1:$ A $ 20,A1)= 1
- 稍後,在當前對話框中切換到“錯誤警報”選項卡。
- 隨後,您可以根據需要自定義錯誤消息,例如,將“重複值”指定為錯誤標題,並將“該值輸入到同一列中!” 作為錯誤消息。
- 最後,單擊“確定”。
- 現在,您可以嘗試一下。
- 首先,在單元格A1中輸入一個值。
- 然後,在單元格A2中輸入相同的值。
- 您將立即收到錯誤消息,如以下屏幕截圖所示。
方法2:使用Excel VBA進行預防
- 首先,請參考“觸發Excel VBA編輯器如何在Excel中運行VBA代碼“。
- 然後,將以下代碼放入工作表的項目中,例如“ 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
- 從那時起,每次在任何單元格中輸入一個值時,無論在任何列中,該宏都會自動檢查同一列中的其他值。 如果找到相同的值,您將收到警報,如下圖所示。
競品對比
| 優點 | 缺點 | |
| 方法1 | 操作方便 | 僅可以監視和處理特定列中的數據 |
| 方法2 | 可以監視和處理所有列中的數據 | 增加病毒或惡意軟件攻擊的風險 |
取回寶貴的Excel數據
Excel容易崩潰。 而且,每當它崩潰時,當前打開的Excel文件都會像微風一樣損壞。 因此,為了避免丟失寶貴的Excel數據,不僅應定期備份它們,而且還必須掌握出色的數據。 xls恢復 工具,例如 DataNumen Excel Repair。 如果嚴重的Excel數據損壞,它將很有用。
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 損壞的mdf 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM





