• 締切済み

エクセル内での、データの抽出・リスト表示は無理でしょうか?

エクセルで、シート1に、地域担当グループ名(4G)・地域別担当者名(1G・10名前後)・地区名(1地区2~3名)の表、シート2に各施設の住所録(施設名・住所・連絡先)があるのですが、シート1の地区名をクリックする事で、シート2の住所録から、その地区内の全施設を抽出・シート1のクリックした地区名の横に、リストを表示する事は無理でしょうか? エクセルに慣れていないメンバーもいるので、 私自身も、まだまだ初心者なので、出来れば、マクロを使わず、使用しても、関数のみでする方法は無いでしょうか? 分かりにくい質問ですいませんが、宜しくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

#1です。補足を参考にして、作ってみました。 データ Sheet1 A B C 1 グループ名 担当者 地区名 2 千代田A 山本 明治 3 千代田A 佐藤 大正 4 千代田A 山田 大正 5 千代田A 鈴木 昭和 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 11 千代田A 渡辺 平成 12 千代田B 黒田 風 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 21 千代田B 加藤 山 22 品川A 岡村 湖畔 Sheet2 A B C 1 施設名 住所 連絡先 2 A社 千代田市明治地区港町1-2 22-3344 1 3 B工場 千代田市大正地区殿町33 55-6789 2 4 C体育館 品川市湖畔地区志摩町5-7 99-3149 5 D病院 千代田市平成地区新町62 78-4456 3 ・ ・ ・ ・ ・ ・ ・ ・ 22 F会館 千代田市大正地区宮川町32 27-3469 4 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 67 K商店 千代田市大正地区西町55 67-3146 5 F列は作業列で =IF(COUNTIF(C3,Sheet3!$A$2&"*")=1,MAX($F$2:F2)+1,"") と入れて下方向に複写。千代田市を含むものに連番を振る。 Sheet3 C3に「大正」と入力。 A1は =INDEX(Sheet1!$A$2:$C$17,MATCH(C1,Sheet1!$D$2:$D$17,0),2) B1は =INDEX(Sheet1!$A$2:$C$17,MATCH(C1,Sheet1!$D$2:$D$17,0),3) A2は =MID(A1,1,LEN(A1)-1)&"市" A3に =INDEX(Sheet2!$A$2:$D$17,MATCH(ROW()-2,Sheet2!$F$2:$F$17,0),COLUMN()) D3まで横方向に式を複写 A3:D3をA7:D7まで下方向に複写 結果 千代田A 佐藤 大正 千代田市 2 A社 千代田市明治地区港町1-2 22-3344 3 B工場 千代田市大正地区殿町33 55-6789 5 D病院 千代田市平成地区新町62 78-4456 22 F会館 千代田市大正地区宮川町32 27-3469 67 K商店 千代田市大正地区西町55 67-3146 補足にもかかわらず、要点が応えられてない。独断で 大正ー>千代田A->千代田ー>千代田市ーSheet2で千代田市 分抜き出し をしてみました。imogasi方式。あとは考えてください。

mr-boo
質問者

お礼

imogasiさん、御礼が遅くなってすいません。 imogasi方式を学習して、考えてみます。 有難うございました。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

エクセルVBA向きの問題らしいことはわかります。 >クリックする事で、 これはVBAでないと、捉えられませんので、関数では不可能でしょう。 地区名を入力(入力規則のリストをクリックすることを含む)なら可能かもしれません。 関数でも1条件なら、地区名を決まったセルに入力指定して、該当の リストの行だけを抜き出すことは可能です。作業列を使いますが、私はimogasi方式となずけて、このOKWAVEに回答を多数上げています。 良ければ照会してみてください。 (要望) (1)現実の複雑な事象 ↓ (2)重要な事項を残し、他を捨象 ↓ (3)エクセル向けに重要な事項を残し、他を捨てる パターン化 ↓ (4)簡単な表を作成・イメージづくり ↓ (5)質問する ただし セルの行・列・シートを具体的に表示 ↓ (6)回答に接する ↓ (7)上記のステップを上にさかのぼる 本質問は(3)がごちゃごちゃしている。 (5)の実例が上げてない。回答するとすると、回答者が手探りの例を作らないといけない。簡単な例なら、私はそうしてますが、手数もかかり、当たらない恐れもある。 セルの行・列・シートを具体的に表示がないと、関数の回答は、具体的な書きようがないのはわかってもらえますか。 質問を想像すると Sheet1 A1施設名 (入力) (質問ではクリックで選択希望) B、C,D,E・・列  該当分をSheet2から検索してくる Sheet2 A列  地区名 B列 施設名 C列 住所 D列 連絡先 例示 Sheet2 A列  B列  C列   D列 大山地区 さくら 大山町2   23-2345 大山地区 きく  大山町戸倉  23-1123 東地区  あやめ 東が丘2   23-3456 駅前地区 うめ  新町1    23-4321 Sheet1では A1 大山地区 で下記表示 大山地区 さくら 大山町2   23-2345 大山地区 きく  大山町戸倉  23-1123

mr-boo
質問者

補足

imogasiさん、丁寧な回答有難うございます。 例も出さずに質問されても、回答に困りますよね。 下記に少し例を挙げさせていただきます。 ★シート1      A     B    C 1  グループ名  担当者  地区名 2  千代田A   山本   明治 3  千代田A   佐藤   大正 4  千代田A   山田   大正 5  千代田A   鈴木   昭和 ・   ・     ・    ・ ・   ・     ・    ・ ・   ・     ・    ・ ・   ・     ・    ・ 11 千代田A   渡辺   平成 12 千代田B   黒田   風 ・   ・     ・    ・ ・   ・     ・    ・ ・   ・     ・    ・ 21 千代田B   加藤   山 22 品川A    岡村   湖畔 ・   ・     ・    ・ ・   ・     ・    ・ ・   ・     ・    ・ ・   ・     ・    ・ ★シート2    A         B             C 1  施設名    住所               連絡先 2  A社     千代田市明治地区港町1-2    22-3344 3  B工場    千代田市大正地区殿町33     55-6789 4  C体育館   品川市湖畔地区志摩町5-7    99-3149 5  D病院    千代田市平成地区新町62     78-4456 ・  ・         ・               ・ ・  ・         ・               ・ 22 F会館    千代田市大正地区宮川町32    27-3469 ・  ・         ・               ・ ・  ・         ・               ・ ・  ・         ・               ・ 67 K商店    千代田市大正地区西町55     67-3146 ・  ・         ・               ・ ・  ・         ・               ・ ・  ・         ・               ・   imogasiさんの想像された物で、ほぼ近いのですが、こんな感じです。 例えば、シート1の地区のC4セルをクリックする事で、 4  千代田A   山田   大正          B工場    千代田市大正地区殿町33     55-6789    F会館    千代田市大正地区宮川町32    27-3469    K商店    千代田市大正地区西町55     67-3146 例では、下に表示してしまいましたが、 このように、クリックの横に抽出・表示したいのですが、 出来るでしょうか? imogasiさんの回答にあったように、地区名を入力する事では、抽出は可能ですか? もし無理なら、VBAならどのようにすれば良いですか? 宜しくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A