- 締切済み
エクセルの条件に合うデーターを抽出する関数、
エクセルのリスト1の住所録の情報から、リスト2に、東京都の人のデータのみを抽出する関数、また、何も記載がないセルは、そのままにしておく。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
「関数を用いて」という、質問に「またか」と思います。 エクセルの関数は、計算などには向いているが、「抽出」には向いてない。 中間作業列を使わないという好みの人も多く、式の組み合わせも複雑になったり、考え方も初心者には思いつかないものだったり、配列数式というしくみを使ったりする回答が出ます。 今回は真似すればよいとして、しばらくしたら、その式の組み立てを、思い出せないかもしれない。 エクセルの基本は、できる課題なら、まず「操作」で結果を出すことです。 これを紹介しておきます。 ーー 例データ A列、B列 氏名 住所 山田 東京都新宿区角筈 小島 神奈川県横浜市本町 水野 東京都千代田区大手町 どこかシートの空いた列のセルに 今回は、D1:D2とする。 D1に「住所」(項目見出しに当たる) D2に="=*東京都*" (ワイルドカード利用です) と入れます。D2は見た目 =*東京都*になります。 (=やアスタリスクは半角です。) 操作は データーフィルター詳細設定でダイアログ・ウインドウに 「指定した範囲」にチェック リスト範囲 A1:B4 検索条件範囲 D1:D2 抽出範囲 I1;J10 OK で、結果 I1:J3 氏名 住所 山田 東京都新宿区角筈 水野 東京都千代田区大手町 となります。
- nishi6
- ベストアンサー率67% (869/1280)
添付図のようになっているとします。 Sheet1のE、F列に補助の算式を設定します。 E2:=IFERROR(FIND(Sheet2!$F$2,A2),"") F2:=IF(E2=1,SUM($E$2:E2),"") 下にコピーします。 Sheet2のA2:=IFERROR(INDEX(Sheet1!$A$1:$C$13,MATCH(ROW()-MATCH("住所",$A:$A,0),Sheet1!$F$1:$F$13,0),COLUMN()),"") ちょっと長いですが、1行目から作らない場合も機能するようにしています。Sheet1のデータ分、右と下にコピーします。 添付図のA1の「住所」という文字は算式に使っています。実際の文字に合わせてください。Sheet2のF2に「東京都」と入れると、東京都から始まる住所のみ表示します。 当方、Win10、Excel2010です。ご参考に。
お礼
ありがとうございました。(Sheet1!$A$1という意味がよくわかりません。はじめてなので、!は、どういう場合にしようできますか。