- ベストアンサー
エクセル 検索の式入力
すみません。教えてください。 B列に都道府県名。 C列に市町村名。 D列に人口。 検索して、B列に神奈川県があったら(複数)、そのC列の市町村名と、各各の人口をすべて、ピックアップしたい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「ピックアップしたい」とは、どんな意味でしょうか? オートフィルタとかの抽出では、ダメですか? 集計したいなら、No1の方の集計機能を使えばいいと思います。集計する前に、C列・B列で並べ替えをしてから、集計のダイアログを表示し、グループの基準に、都道府県名を選んで人口を集計します。その後、市町村名もカウントするようなら、再度集計ダイアログを出し、グループの基準を市町村名にして、現在の集計表と置き換えるのチェックを外し、計算の方法をデータの個数にすれば、市町村をカウントできますが。。 外してたらごめんなさい。
その他の回答 (3)
- kiichi_go
- ベストアンサー率0% (0/9)
- imogasi
- ベストアンサー率27% (4737/17069)
>「検索の式入力」を教えてくださいが質問の趣旨だと思います。式は関数式のことで、「=xx・・」とセルにいれる式のことを思っておられることでしょう。 --->しかしこれは出来ないでしょう。関数式への期待は多大なのは、本OKWEBを見ていると、感じますが なぜ出来ないのか、私なりに考えてきました。 関数式の本質と言うようなものを判って下さい。 (1)まず関数式は、値(=データ)を「受ける」側のセルに、「具体的にどのセルから持ってくるか」を、「セルの行列番号記号を使って」設定(=入力)します。そして勿論そのセル・データを使って、演算等は可能です。 さて検索の場合は該当が何件あるか判らず、上行から詰めて該当分を表示していくとして、第何行目のデータが、受けのセルに来るか判りませんので、式を入れるエクセルユーザーが式の入れようがありません。以上はエクセル既製関数での話です。しかしVBAで私製関数を作れば、話は別です。VBAでは、次ぎに見つかった条件合致データを入れる行を変数として記録し、渡す側からその行にセットできますから、そしてセットしたら、行数を1プラスしておけば良いのですからたやすくその問題は解決します。 ただ上記は現在のエクセルの話で、エクセルにも段々ウイザード的(操作のあつまりなどを記号化したもの。例えばピボットテーブルのようなものが候補か。しかしVBAとの境界が曖昧になってしまう。)な関数が出現するかもしれないが、この一線はマイクロソフトは越えないでしょう。 しかし、隅を突っつくと、現在のエクセルでも例外ケースがあるかもしれません。 該当しない行が空白行の出現するスカスカ範囲に結果が出ても良いのなら、=IF(・・・)で、該当する行だけ、別列にセル値をセットすれば良いので、考え方は単純です。そして抽出範囲をソートすれば空白行は下に集められますが。 例としてA1:B5に 大阪 1 東京 2 名古屋 1 大阪 2 大阪 1 といれ、C1に=IF(AND(A1="大阪",B1=1),A1,"") D1に=IF(AND(A1="大阪",B1=1),B1,"")と入れ、C5及びD5まで複写します。結果は 大阪 1 (空白) (空白) (空白) 大阪 1 となります。C1:D5の値を別に移し、降順ソートすれば 大阪 1 大阪 1 となります。
- usagidaisuki
- ベストアンサー率27% (51/183)
エクセルのデータメニューの中にある集計でできると思いますよ~。