- ベストアンサー
エクセルでフィールド名にフィルタリングをかける方法
初歩的な質問で申し訳ありませんが、 エクセルでフィールド名(列)にフィルタリングをかけて表示させることは可能なのでしょうか。 たとえば、 A社、B社、C社という会社名のフィールドがありまして、 さらにそれぞれの会社に1月~12月までのサブフィールドある場合、 5月の会社別のデータを比較するような機能を考えています。 エクセルはあまり使ってきてないので、詳しくはわからないのですが、 オートフィルタ機能では各フィールドのデータ抽出はできても、 フィールド名にフィルタをかけるのには対応していないのではと思っています。 もちろんサブフィールドを縦に並べてフィルタということは可能かもしれませんが、 そのフォーマットは採用していないので、質問させていただきました。 フィルタ機能でなくてもかまわないのですが、エクセルでこの機能を実現する方法があったら教えてください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ピボットテーブルでしょうかね。 使い方は検索すればすぐに出てきますよ^^
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルではフィールド名、サブフィールド名と言う用語は普通使いません。アクセスを使ったことがあるのか、多言語経験者かしらないが。アクセスなどの用語です。(エクセルにも、区切り位置、ピボットテーブルなどで顔を出す用語だが) エクセルでは列と項目見出しを(例)示して示すのが普通です。 それもあって、質問の意味が専門用語を使っている割には、良く伝わらない。 簡単な例を挙げて質問するのが良いと思う。 ーー A社 B社 C社・・ 1月 2月 か ーーA社ーーーーB社 1月 2月・・・1月 2月・・ か、後者らしいね。 こういう表の構成は何かと関数などでは処理がしにくい。 表を作る初めから前者に出来ないか考えるべきです。エクセルの経験が少ないと、後々のことが考慮できないのだろうが。 ーーー >データを比較するような機能を考えています 肝心なことは、比較するために前準備として何をしたいのか書かなければダメでは。 例えば4月分について A社 B社 C社・・・ 123 345 456・・ のような表を作りたいのか? ーーーー もし後者のような表で規則性(12列目ごとに別会社データ出現)があるならば 例データ Sheet1に A社 B社 ・・ 4月 5月 6月 4月 5月 6月 ・・ 11 12 13 14 15 16 11 12 13 14 15 16 11 12 13 14 15 16 11 12 13 14 15 16 11 12 13 14 15 16 7-3データは例示を簡略化するため略 ーー 別シートのA3に =INDEX(Sheet1!$A$1:$Z$13,ROW(),(COLUMN()-1)*3+1) これを下方向に式をデータ数の行数だけ式複写 A列の式について、B列以右に式を複写 実際は12か月分あれば、式中で*3->*12に変えること。 結果 A列 B列 A社 B社 ここの行は別途追加(A1から式を入れればこれが出る) 4月 4月 ここの行は別途追加 11 14 11 14 11 14 11 14 11 14 ーーー エクセルは行方向にデータを持っていくのと、列方向に持ってくるのと、関数などでは、使える使えないという点で、少数だが、すべてが同じではない場合もある。 --- これ以上に条件などが複雑な場合はVBAを使うことになる。 既出ご回答で出ているピボットテーブルなどを検討してみるのもよいかも。しかし上記の後者のような表構成ではちょっと見て難しい感じ。
お礼
丁寧な例示と回答ありがとうございます。 おっしゃられたとおり、 >ーーA社ーーーーB社 >1月 2月・・・1月 2月・・ のような表の構成になっています。 表自体には規則性がありますので、アドバイスしていただいた方法で一度試してみます。 ありがとうございます。
お礼
さっそくの回答ありがとうございます。 検索してやってみます。