2017-04-11 10 views
0

私はExcelファイルであるデータセットを持っています。 2010-16年の人口変化に関する情報が含まれています。 データセットの行は、状態の州と郡情報の次の米国の情報で構成されます。 私の質問は、州の情報と郡の情報をどのように区別できるのですか? は、ここに私のデータ https://www.ers.usda.gov/webdocs/DataFiles/CountyLevel_Data_Sets_Download_Data__18026/PopulationEstimates.xls?v=42489Excelで特定の行を選択するにはどうすればよいですか?

+0

どういう意味ですか?データを見ると、郡とは別の州のリストがありますか?なぜヘルパー列を追加するだけではないのですか?列Cの「郡」をチェックする '= Iferror(Search(" county "、C4)、C4、" ")と、州名を返します「郡」のテキストはありません。 *これは、* "county"のないすべてのセル*が状態であることを前提としています。何を試しましたか?出力はどのように見えますか? – BruceWayne

+0

データを2つのExcelファイルに分割し、一方のファイルには状態に関するデータが含まれ、もう一方のファイルには郡に関するデータが含まれますが、状態に関する情報は含まれません。 – Jwalitha

+0

私は、行データに基づいてExcelファイルを分割したいのです – Jwalitha

答えて

0

あなたはワークブック状態データと1と郡のデータと他の二つのシートを作成します。このマクロを試すことへのリンクです。

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

私はこのコードをあなたのデータでテストして、完全に機能しました。州と郡という2つのシートが作成され、関連するデータが作成されました。あなたが何もしていないと言ったときは理解するのが難しいです。 – sktneer

0

郡や州ごとにデータをロールアップする必要があるようです。ピボットテーブルはあなたのためにこれを行う必要があります。

  1. 新シート、挿入、ピボットテーブル、(ヘッダを含むが、行1および2を含むNOT)
  2. ドロップあなたがそれらを必要とするどのようにテーブルに値を選択範囲、および平均/としてカウント/合計することを忘れないでください必要なのは
  3. 正しいデータを持つテーブルがある場合は、それを選択してコピーし、別のxlsに「値をペースト」します。

郡のロールアップの場合は1回、ロールアップの場合は1回、これを2回行います。

関連する問題