2017-04-11 118 views
0

我有一個excel文件的數據集。 它包含有關2010-16年度人口變化的信息。 數據集行由美國下一個州的狀態信息和該州的縣信息組成。 現在我的問題是如何將Excel狀態信息和縣信息分開? 這裏是鏈接到我的數據 https://www.ers.usda.gov/webdocs/DataFiles/CountyLevel_Data_Sets_Download_Data__18026/PopulationEstimates.xls?v=42489如何在Excel中選擇特定的行?

+0

你是什麼意思?看看這些數據,你只想列出一個國家名單,與縣政府分開?爲什麼不只是添加一個幫助列,就會說C#單元格中會檢查「County」的'= Iferror(Search(「county」,C4),C4,「」)',並返回狀態名稱沒有「縣」文字。 *這假設*所有單元*沒有*「縣」是狀態。你有什麼嘗試?你想要輸出看起來像什麼? – BruceWayne

+0

我想將數據分成兩個excel文件,一個文件包含關於狀態的數據,另一個文件包含關於縣的數據,但沒有關於狀態的信息。 – Jwalitha

+0

我的意思是我想要根據行數據劃分excel文件 – Jwalitha

回答

0

你可以試試這個宏將工作簿中的一個與國家數據和其他與縣數據創建兩頁。

Sub SplitData() 
Dim wsSource As Worksheet, wsState As Worksheet, wsCounty As Worksheet 
Dim lr As Long 

Application.ScreenUpdating = False 

Set wsSource = Sheets("Population Estimates 2010-2015") 
lr = wsSource.Cells(Rows.Count, 1).End(xlUp).Row 
On Error Resume Next 
Set wsState = Sheets("State") 
Set wsCounty = Sheets("County") 
wsState.Cells.Clear 
wsCounty.Cells.Clear 
On Error GoTo 0 
If wsState Is Nothing Then 
    Sheets.Add(after:=wsSource).Name = "State" 
    Set wsState = ActiveSheet 
End If 
If wsCounty Is Nothing Then 
    Sheets.Add(after:=wsState).Name = "County" 
    Set wsCounty = ActiveSheet 
End If 

With wsSource.Rows(3) 
    .AutoFilter field:=3, Criteria1:="=*county*", Operator:=xlAnd 
    wsSource.Range("A3:CW" & lr).SpecialCells(xlCellTypeVisible).Copy wsCounty.Range("A1") 
    .AutoFilter field:=3, Criteria1:="<>*county*", Operator:=xlAnd 
    wsSource.Range("A3:CW" & lr).SpecialCells(xlCellTypeVisible).Copy wsState.Range("A1") 
    .AutoFilter 
End With 
wsState.UsedRange.Columns.AutoFit 
wsCounty.UsedRange.Columns.AutoFit 
Application.ScreenUpdating = True 
End Sub 
+0

我不知道原因,但它沒有做任何事情..... – Jwalitha

+0

我在你的數據上測試了這個代碼,它工作的很完美。它用他們的相關數據創建了兩張名爲州和郡的表。當你說它沒有做任何事情時,很難理解。 – sktneer

0

這聽起來像你需要按縣和州的數據彙總。樞軸表應該爲你做到這一點。

  1. 新的工作表,插入,透視表,選擇範圍(包括報頭,但不包括行1和2)
  2. 降值轉換成你如何需要他們,記得要總結/平均表/算作需要
  3. 如果您的表格中包含正確的數據,請將其選中,複製並將「粘貼值」粘貼到另一個xls中。

這樣做兩次,一次爲郡捲起,一次爲州捲起。