如何在 Excel 中按姓氏排序(簡易指南)

如何在 Excel 中按姓氏排序(簡易指南)

如果您使用名稱數據集,對其進行排序是您必須經常執行的常見任務之一。

根據全名按字母順序對數據進行排序非常容易,其中 Excel 使用名稱的第一個字符進行排序。

但是,如果您想在 Excel 中按姓氏對數據進行排序怎麼辦?

雖然它不是那麼簡單,但仍然可以完成(很大程度上還取決於名稱數據的結構方式)。

無論您使用哪種方法,您都必須以某種方式從全名中提取姓氏並將其放在單獨的列中。然後,您可以使用此列按姓氏字母順序對數據進行排序。

在本 Excel 教程中,我將向您展示如何根據姓氏對具有名稱的列進行排序。

所以讓我們開始吧!

使用查找和替換按姓氏提取和排序

按姓氏排序的第一步是在單獨的列中獲取姓氏。

您可以通過用空白替換姓氏之前的所有內容來做到這一點,這樣您就只剩下姓氏了。

假設您有一個如下所示的數據集,並且您希望使用姓氏按字母順序對該數據進行排序。

按姓氏排序的名稱

以下是按姓氏排序的步驟:

  1. 選擇包含標題的數據集(在本例中,它將是 A1:A10)
  2. 將其複製到相鄰列中(如果相鄰列不為空,則插入新列,然後復制這些名稱)在相鄰列中復制名稱數據集
  3. 重命名複製的列標題。在此示例中,我將命名為“姓氏”
  4. 選擇所有復制的名稱(不要選擇標題)
  5. 按住 Control 鍵,然後按 H 鍵。這將打開查找和替換對話框。控制 H 打開查找和替換對話框
  6. 在查找內容字段中,輸入 *(星號後跟空格字符)輸入星號後跟空格字符
  7. 將替換為字段留空將替換為字段留空
  8. 單擊全部替換。這將立即替換所有名字,您將只剩下姓氏。點擊全部替換

上述步驟將保留姓氏並刪除它之前的所有內容。即使您有中間名或前綴(例如 Mr. 或 Ms),這也很有效。

您僅使用查找和替換獲得姓氏

在相鄰列中獲得姓氏後,您可以輕鬆地根據姓氏按字母順序對數據集(包括全名)進行排序。

以下是按姓氏排序的步驟:

  1. 選擇帶有標題的整個數據集(包括全名和提取的姓氏)。您還可以包括要與名稱一起排序的其他列
  2. 單擊數據選項卡單擊數據選項卡
  3. 點擊排序單擊排序選項卡
  4. 在“排序”對話框中,確保選中“我的數據有標題”。
  5. 在“排序依據”選項中,選擇只有姓氏的列的名稱在排序方式選項中選擇姓氏
  6. 在“排序方式”中,選擇“單元格值”在排序依據中選擇單元格值
  7. 在“訂單”選項中,選擇“A 到 Z”選擇順序 - A 到 Z 或 Z 到 A
  8. 點擊確定
相關問題  在 Excel 填寫空白單元格直到下一個值(3 種簡單方法)

上述步驟將根據姓氏對整個選定的數據集進行排序。

根據姓氏排序

完成後,您可以刪除具有姓氏的列。

專業提示:在任何時候,如果您認為您可能需要返回原始數據,您需要有一種方法來取消對該數據集的排序。為此,在相鄰列(左或右)中,在排序之前有序列號。現在,如果您需要返回原始數據,您可以通過基於數字的排序來獲得它。

使用公式按姓氏提取和字母排序

雖然上面顯示的方法(使用查找和替換)是我更喜歡獲取所有姓氏並根據它進行排序的方法,但它的一個限制是生成的數據是靜態的。

這意味著如果我在列表中添加更多名字,我將不得不再次執行相同的過程來獲取姓氏。

如果這是您不想要的,您可以使用公式方法按姓氏對數據進行排序。

假設您有如下所示的數據集。

下面是從全名中提取姓氏的公式:

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

Excel公式從全名中獲取姓氏

上面的公式依賴於具有全名的模式(在此示例中僅包含名字和姓氏)。模式是名字和姓氏之間會有一個空格字符。

FIND 函數用於獲取空格字符的位置。然後從名字的總長度中減去這個值,得到姓氏中的字符總數。

然後在 RIGHT 函數中使用該值來獲取姓氏。

一旦你有了姓氏列,你就可以對這些數據進行排序(這在第一種方法中有詳細介紹)。

當您只有名字和姓氏時,上述公式將起作用。

但是,如果您也有中間名怎麼辦。或者名字前可能有稱呼(如先生或女士)

在這種情況下,您需要使用以下公式:

=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

上面的公式找到最後一個空格字符的位置,然後用它來提取姓氏。

我建議你在所有情況下都使用第二個公式,它更簡單,可以處理所有情況(只要姓在名字的末尾)。

注意:這兩個公式依賴於每個名稱元素之間只有一個空格字符的條件。如果有雙空格或前導/尾隨空格,此公式將給出不正確的結果。在這種情況下,最好使用 TRIM 函數先去掉任何前導、尾隨和雙空格,然後使用上述公式。

雖然這似乎是一種複雜的方法,但使用公式的好處是它可以使結果動態化。如果您在列表中添加更多名稱,您所要做的就是複制公式,它會為您提供姓氏。

使用文本到列

Text to Columns 又是一種在 Excel 中拆分單元格的簡單方法。

您可以指定分隔符(例如逗號或空格)並使用它來分割單元格的內容。在單獨的列中拆分元素後,您可以使用具有姓氏的列來按字母順序排列數據。

假設您有一個如下所示的數據集:

以下是使用 Text to Column 按姓氏排序的步驟:

  1. 選擇具有名稱的列(不包括標題)
  2. 單擊數據選項卡單擊數據選項卡
  3. 在“數據工具”組中,單擊“文本到列”選項。這將打開 Text to Columns 嚮導單擊功能區中的“文本到列”選項
  4. 在“將文本轉換為列嚮導”的第 1 步中,選擇“分隔”並單擊“下一步”在步驟 1 中選擇分隔
  5. 在第 2 步中,選擇“空格”作為分隔符(如果選中則取消選中其他任何內容),然後單擊下一步按鈕。選擇空間選項,然後單擊下一步
  6. 在第 3 步中,選擇數據預覽中的名字列,然後選擇“不導入列(跳過)”選項。這可以確保名字不是結果的一部分,您只會得到姓氏。在文本到列嚮導的第 3 步中選擇不導入列
  7. 同樣在步驟 3 中,將目標單元格更改為與原始數據相鄰的單元格。這將確保您單獨獲得姓氏並且原始姓名數據是完整的。指定文本到列結果數據的目標單元格
  8. 點擊完成
相關問題  修復三星電視 HDMI 無信號問題

獲得結果後,您可以按姓氏排序。

文本到列的結果以提取姓氏,然後按其排序

當您有逗號作為分隔符時,您還可以使用文本到列來分隔名字和姓氏。

使用閃光填充

另一種快速獲取姓氏的方法是使用 Flash Fill 功能。

Flash Fill 是在 Excel 2013 中引入的,它通過識別模式來幫助操作數據。為此,您需要多次顯示 Flash Fill 您期望的結果。

一旦它識別出模式,它將迅速為您完成其餘的工作。

假設您有以下名稱數據集。

使用快速填充按姓氏排序的名稱數據

以下是使用 Flash Fill 獲取姓氏並使用它進行排序的步驟:

  1. 在單元格 B2 中,輸入文本“Maury”。這是您在單元格中期望的結果。
  2. 轉到下一個單元格並輸入相鄰單元格中姓名的姓氏(本例中為 Elliot)。
  3. 選擇兩個單元格
  4. 將光標懸停在所選內容的右下部分。您會注意到光標變為加號圖標。選區右下角的綠色方塊
  5. 雙擊它(或單擊並向下拖動)。這將在單元格中為您提供一些結果(不太可能是您想要的結果)
  6. 單擊“自動填充選項”圖標。單擊自動填充選項圖標
  7. 點擊快速填充選擇 Flash Fill 選項以獲取所有姓氏

這將為您提供可能是所有單元格中的姓氏的結果。

我說可能,因為 Flash Fill 在某些情況下可能不起作用。由於它取決於識別模式,因此它可能無法始終做到這一點。或者有時,它破譯的模式可能不是正確的模式。

在這種情況下,您應該在一個或兩個以上單元格中輸入預期結果,然後執行步驟 4-7。

在列中包含所有姓氏後,您可以根據這些姓氏對數據進行排序。

因此,您可以使用以下四種不同的方式按姓氏對數據進行排序。最好的方法是使用查找和替換技術,但如果你想讓你的結果動態化,公式方法是要走的路。

希望您發現本教程很有用。

哦,您好 👋很高興認識你。

訂閱我們的電子報,定期發送很棒的科技內到您的郵

相關問題  使用CJWDEV:Active Directory 帳戶重設工具

Post Comment