[[20091014155247]] 『抽出?』(初) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『抽出?』(初)
 過去ログを調べても探しきれなかったので、質問させてください。
 元データから4種類に分けて表示してくれと言われて4分割したのですが、
 これから先もこの方法で入力・表示していくので、少しでも簡潔にできないのかと思って…

 Sheet1
   A    B    C
 1業 者  内 容  金 額
 2A 社   紙    10円
 3A 社   本    100円
 4B 社   紙    50円
 5C 社  コピー   20円
 6B 社  コピー   20円
 7A 社   紙    30円

 Sheet2
   A    B    C
 1業 者  内 容  金 額
 2A 社   紙    10円
 3B 社   紙    50円
 4A 社   紙    30円

 上記のように内容が同じもの(実際は神に分類されるもので、内容名は変わってきます)を
 別シートに記載したいと思っています。

 今のところ1234と分類して、VLOOKUP関数を使用しようと数式を作りました。
 元の表のA列に列を挿入して、Sheet2のB2に「=VLOOKUP(A2,Sheet1!A2:C50,2,0)」と入力したのですが、
 Sheet2以降に該当する数字を入力しないといけません。

 Sheet1のA列に「1」と入力すると自動的にSheet2
 Sheet1のA列に「2」と入力すると自動的にSheet3

 へとレコードが表示されるようにできませんか?

 説明が下手ですみません。よろしくお願いします。 winXP、Excel2007


 オートフィルタで絞込みするだけではだめなのでしょうか?(ROUGE)

 VLOOKUP関数では、最初に見つかった物しか
 表示されないと思いますが
 具体的にはどの様に成っているのでしょう?

 Sheet1のA列を重複が無いように番号を振って
 Sheet2以降のA列に、その番号を入力していく
 とか言うこと?

 Sheet1のどこかに、内容内で重複しないデータを作って於いて
 ピボットテーブルを使用して抽出する方法も
 とれるかもしれません。

 (HANA)


 参考
[[20080704141202]]『ある条件を含む行を別シートにまとめたい』(あい)
 (とおりすがり)

 参考出品。(ROUGE)
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim tbl, ans, i As Long, ii As Long, txt As String
If Sh.Name <> "Sheet1" Then
    Select Case Sh.Name
        Case "Sheet2": txt = "紙"
        Case "Sheet3": txt = "本"
        Case "Sheet4": txt = "コピー"
    End Select
    tbl = Sheets("Sheet1").Range("A1").CurrentRegion.Resize(, 3).Value
    ReDim ans(1 To UBound(tbl, 1), 1 To 3)
    ans(1, 1) = tbl(1, 1): ans(1, 2) = tbl(1, 2): ans(1, 3) = tbl(1, 3)
    ii = 1
    For i = 2 To UBound(tbl, 1)
        If tbl(i, 2) = txt Then
            ii = ii + 1
            ans(ii, 1) = tbl(i, 1): ans(ii, 2) = tbl(i, 2): ans(ii, 3) = tbl(i, 3)
        End If
    Next
    Sh.Cells.ClearContents
    Sh.Range("A1").Resize(UBound(ans, 1), 3).Value = ans
    Erase tbl, ans
End If
End Sub

 みなさん、回答ありがとうございます。
 内容は実際は“○○用紙”や“○○色紙”等言葉は違います。
 紙だけだったらオートフィルタでできるのですが、その他と言う分類があり、これがいろんな商品名があります。
 そして、本と言う分類もあり、これはタイトルが書いてあるので、題名がまちまちです。

 元(Sheet1)にデータを入力したら、自動的にそれぞれに行くようにしたいなと思いまして。。
 やっぱり無謀なことなのですかね?
 抽出してコピー貼り付けした方がベストなのでしょうか?
 データ自体数が多いので何かいい方法があったらと思いまして…

 で、考えたのがVLOOKUPの関数だったの言う感じです。

 ROUGEさんのマクロはVBAのコマンドがどこかわからずまだ試していませんが…
 今、仕事中なので自宅に帰ってから試してみます。
 (初)



 Sub まくろ
 End Subの間にROUGEさんの作成してくれたマクロをコピペしましたが、
 End Subが必要です。となります。
 間ではないのでしょうか??
 本当に初歩的でごめんなさい。  (初)


 Alt+F11→ThisWookbookをWクリック 白い画面に 
 参考出品。(ROUGE)
 ↑ 
 から下の部分、つまり

 Private Sub Workbook_SheetActivate(ByVal Sh As Object) ←ここから
      ................................
      .................................
 End Sub ←ここまで

 を、すべてコピペします。
      アドバイス参考。(弥太郎)


 弥太郎さん、回答ありがとうございます。

 Alt+F11を起動させると、PatternULxlamというものが表示され、
 コードを入力する画面には
 'Callback for PatternGallery onAction
 Sub InsertPattern(control As IRibbonControl, id As String, index As Integer)
     On Error Resume Next
     Selection.Fill.Patterned (index + 1)
 End Sub

 と表示されています。

 ThisWookbookが見当たらなくて…
 このコードを消して貼り付けても良いのでしょうか?? (初)


 表示→プロジェクトエクスプローラをクリックしたらThisWorkbookの文字が見えまへんか?
         (弥太郎)

 分かりやすく説明してくれてありがとうございます。
 実行したところ、マクロが無効に設定されています。と出てしまいました…
 私のパソコンでは使用できないのでしょうか。。。
 セキュリティをいじらないといけない?みたいなのでしょうか? (初)


 ツール→マクロ→セキュリティ で中に設定します。(保存して一旦閉じる)再度ひらく。
 マクロが動く環境にせなあきまへんワ。
      (弥太郎)

 2007ではデジタル署名が必要なんですよね。
 未だによく分かっていないので、2007ではマクロを使えていない。。。orz
 (ROUGE)

 え〜っ!
 まぁ、なんと無粋な・・・
     (弥太郎)

 あ…がんばって調べたらデジタル署名と出てきました。。
 ちなみにセキュリティは中でして…
 やはり仕事場のパソコンでは無理なのですかね。
 2007って色々使いづらいですね。前のバージョンが良かったです。
 ってここで言っても仕方ないですよね。  (初)


 VBAでの話が進んでいる様ですが。。。。
 例えば
 Sheet1					
	[A]	[B]	[C]	[D]	[E]
[1]	分類	番号	業者	内容	金額
[2]	1	1	A社	紙	10
[3]	2	2	A社	本	100
[4]	1	3	B社	紙	50
[5]	3	4	C社	コピー	20
[6]	3	5	B社	コピー	20
[7]	1	6	A社	紙	30
 A列が分類。B列に行がユニークになる様なデータを作成。

 ピボットテーブルの作成
  分析するデータを選択してください。
   ●テーブルまたは範囲を選択(S)  ←−−−−−こちらを選択
         テーブル/範囲(T) [ Sheet1!$A:$E    ] ←列で指定
   ○外部データソースを使用(U)
  ピボットテーブルレポートを配置する場所を選択してください。
   ●新規ワークシート(N)  ←−−−−−−−−−一応こちらを選択
   ○既存のワークシート(E)
  [ OK ]

 レポートフィルタ に 分類
 行ラベル     に 番号・業者・内容
 値        に 金額
 を、ドラッグ&ドロップ。

 集計方法が「データの個数」になっているので
 A3セルをダブルクリックして「合計」に変更。

 ○社小計 集計 (空白) 総計 等を非表示にし
 B1セルの分類の絞り込みで「1」を選ぶと
 ↓の表ができます。

 ピボットテーブルのシート				
	[A]	[B]	[C]	[D]
[1]	分類	1		
[2]				
[3]	合計 / 金額			
[4]	番号	業者	内容	集計
[5]	1	A社	紙	10
[6]	3	B社	紙	50
[7]	6	A社	紙	30

 後は、見出し・表示形式 等を変更。

 シートを複製して、B1セルの絞り込みを変えておいても良いですし
 B1セルで選択するだけなので、シートを一枚だけにしておいても良いかもしれません。

 ↓ご参考に。
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-piv.html
 よねさんのWordとExcelの小部屋
  Excel2007(エクセル2007)基本講座:ピボットテーブルの使い方

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.