こんばんわ。
http://oshiete1.goo.ne.jp/qa5402281.html
↑で質問させていただいた続きです。
A列に商品番号
B列に商品名
C列に分類名
このようなエクセルでC列にはPCやTVといった分類名があり、分類名ごとにフィルターをかけて別シートにA列、B列、C列を列ごとコピペしたいです。
例えば、C列のPCという値はシート名がPCというシートにA,B,C列をコピペ、TVならシート名がTVというシートにコピペするという具合です。
分類毎のシートは既に作成してあるので、フィルターをかけてコピペする部分を自動化できないかと思ってます。
似たような質問を検索しましたが、どうもわかりやすいのが見つからなかったもので・・・
お知恵を貸してください。
ちなみにエクセルのバージョンは2003です。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
シート1にすべての分類のデータがあって、それをPCやTVといった分類名の付いたそれぞれのシートに整理する方法ですが次のようにすればよいでしょう。
シート1では1行目に項目名があり、2行目からデータがあるとしてD2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(C2="","",C2&COUNTIF(C$2:C2,C2))
これで将来データが追加されてもD列には分類ごとに番号が追加されますね。
そこで、すでに他のシートにはPCやTVといった分類の名前のシートがあり、それらのシートを含むブックが、一旦、保存され、それを再立ち上げした状態のブックで作業をしているものとします。
その上でPCのシートを選択し、その後にCtrlキーを押しながらシート見出しのところでTVなど他のシートをクリックします。これでそれらのシートは一つの作業グループとなります。
その状態でPCシートのA1セルには次の式を入力します。
=TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10))
これで作業グループ内のシートのA1セルには自動的にシート名が表示されます。
PCシートの2行目には項目名を入力するとして、A3セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。
=IF(OR(COUNTIF(Sheet1!$D:$D,$A$1&ROW(A1))=0,COLUMN(A1)>3),"",INDEX(Sheet1!$A:$C,MATCH($A$1&ROW(A1),Sheet1!$D:$D,0),COLUMN(A1)))
この操作によって作業グループにあるすべてのシートに分類別のシートにデータが表示されます。最後にシート1を選択することで作業グループが解除されます。
シート1に新たなデータが入力されればそれにしたがって分類ごとにシートにも新たなデータが自動的に追加されます。
ところで分類ごとのシートでA1セルにシート名を自動で表示させる操作ですが、うまくいかないのでしたら各シートのA1セルにシート名を入力することでもよいでしょう。
帰り際に少し時間が空いたので試してみたら出来ました!
もっと会社でじっくりやりたいのですが、会社のルール上、定時以降無制限にオフィスにいることはできないので、確認がどうしても遅くなってしまいます。
でも今より大分作業が楽になる見通しが出来たのでほっとしています。
本当にありがとうございました。
No.2
- 回答日時:
こんばんは!
参考になるかどうか判りませんが・・・
↓の画像のように表を作ってみました。
元データがSheet1で分類毎にSheet別に反映されるようにしています。
元データに1列作業用の列を使わせてもらっています。
それと分類別に数字を表示させるために、別にF・G列のような感じで
表を作成しておきます。
Sheet1の作業列D2セルに
=IF(C2="","",VLOOKUP(C2,$F$1:$G$3,2,0))
という数式を入れ、オートフィルで下へコピーします
一応1000行まで対応できる数式にしていますので
1000行目くらいまでコピーしておいても構いません。
全ての分類に関して同様の操作ですので
とりあえずTV(Sheet2)の分類だけの操作方法を書いておきます。
Sheet2のA3セルに
=IF(COUNTIF(Sheet1!$D$2:$D$1000,$B$1)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(IF(Sheet1!$D$2:$D$1000=Sheet2!$B$1,ROW($A$1:$A$999)),ROW(A1))))
これは配列数式になってしまいますので、
この画面からコピー&ペーストしただけではエラーになると思います。
セル内に貼り付け後、F2キーを押すか、数式バー内で一度クリックします。
編集可能になりますので、
Shift+Ctrl+Enterキーで確定します。
数式の前後に{ }マークが入り配列数式になります。
そして、B3セルに
=IF($A3="","",VLOOKUP($A3,Sheet1!$A$2:$C$1000,COLUMN(B1),0))
(配列数式ではありません)
とし、B3セルのフィルハンドルでC3セルまでコピーします。
最後にA3~C3セルを範囲指定し、C3セルのフィルハンドルで下へコピーすると
画像のような感じになります。
このようなSheetを全ての分類別に作っておきます。
今後、Sheet1にデータが増えても一致するSheetに反映されるはずです。
尚、分類数が多い場合はSheet2以降のSheetをCtrlキーを押しながら、シート見出しをクリックしていきます。
(Shiftキーを押しながら最初と最後のSheetの選択でもOKです)
これでSheetのグループ化ができましたので
Sheet2の操作が全てのSheetに反映されます。
そして、各SheetのB1セルの数字部分と数式を少し変更するだけで
ちゃんと分類毎に反映されると思います。
以上、長々と書きましたが、
参考になれば幸いです。
的外れなら読み流してくださいね。m(__)m
No.1
- 回答日時:
こんばんは。
参考になりそうなページを紹介します。
がんばって応用してください。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) vba シート名の一覧を2列に分けるには 5 2023/04/24 08:56
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel ハイパーリンク先のセル...
-
エクセルVBA:表の内容を担当者...
-
エクセルで入力シートから別シ...
-
ExcelVBAで、指定したシートに...
-
指定した日付の範囲内でデータ...
-
Excelの中央値の複数条件について
-
テキストボックス内の文字のふ...
-
エクセルにおける、グラフの指...
-
Excelで数値→文字列変換で指数...
-
Excelの関数について、特定の文...
-
Excelで行ごとコピー、同じ行を...
-
エクセルでグラフタイトルが折...
-
エクセル
-
C+vのvは英語で何の頭文字...
-
エクセルのグラフの一部拡大
-
たくさん作った同じ設定のグラ...
-
コピー&貼り付けの仕方を教え...
-
エクセル 指定した文字列を含...
-
セルに値がある行のみを抽出す...
-
塗りつぶしの色をコピーするには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで、指定したシートに...
-
VBA セルの値と同じ名前のシー...
-
エクセルで入力シートから別シ...
-
IF, ISNUMBER, INDIRECTの組み...
-
Excelの中央値の複数条件について
-
エクセルのワークシートが重く...
-
Excel 複数のシートからグラフ...
-
エクセルについて質問です 日付...
-
VBAのoffsetの動き方について教...
-
指定した日付の範囲内でデータ...
-
エクセルで入力→日付を自動判別...
-
Excel ハイパーリンク先のセル...
-
エクセル マクロを使って日々...
-
エクセルVBA:表の内容を担当者...
-
EXCEL VBA 一致しないデータの...
-
該当するデータを書式設定ごと...
-
エクセル自動の年月
-
エクセル 毎日更新する表のデ...
-
Excelの選択肢をポップアップリ...
-
質問:特定文字列から空白行ま...
おすすめ情報