[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『抽出?』(初)
過去ログを調べても探しきれなかったので、質問させてください。 元データから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.