プロが教える店舗&オフィスのセキュリティ対策術


番号  部署名  職位  名前
01  ○○課  課長  ○○○○
01  ○○課  課代  ○○○○
01  ○○課  課代  ○○○○
02  ○△課  課長  ○○○○
02  ○△課  課代  ○○○○
02  ○△課  課代  ○○○○
02  ○△課  課員  ○○○○
03  △△課  課長  ○○○○
03  △△課  課員  ○○○○
04  △△課  課員  ○○○○

仮に上記のリストがあった場合、「別シート」で番号「01」を特定のセルに入力した場合に、
「01」の管理番号に紐付いている3名(上記例の場合)の番号・部署名・職位・名前とも
別シートで一覧表示(抽出リスト化)する方法をご存知の方はいらっしゃいませんでしょうか?
マクロを使用する技術は当方にはありませんので、できる限り関数で出来ればありがたいです。

質問者からの補足コメント

  • つらい・・・

    番号01を02に変えれば、リストも自動的にすべて入れ替わるものを想定しています。

      補足日時:2016/05/08 22:00

A 回答 (3件)

>マクロを使用する技術は当方にはありませんので、できる限り関数で出来ればありがたいです


ですが、いたって簡単なので マクロ案です。
データのシートが(シート名が データ として)
A~D列で、1行名が項目であるとします。

別シートに
  A  B  C  D
1 番号
2  1


5  番号  部署名  職位  名前

とA1~A2に抽出する項目とデータをコピー
5行目に、表示する項目部部分をコピー

シート名のタブを右クリック、コードの表示をクリック
VBエディターが起動したら
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$A$2") Then
Sheets("データ").Columns("A:D").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A5:D5"), Unique:=False
End If
End Sub
を張り付けて閉じる。
A2セルに 1,2・・と番号を入れると、ご希望のデータが6行目以下に抽出されます。

フィルターオプションの機能をマクロ化しています。
詳しくは
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
などで勉強してみて下さい。
    • good
    • 0

作業列案になります


0.1 [Ctrl]+[F3]名前の定義
名前 : 番号
参照範囲 : =$I$1

0.2 A2セルを選択した状態として
[Ctrl]+[F3]名前の定義
名前 : ひとつ上
参照範囲 : =!A1


1.1 E1セルに 0

1.2 E2セルに
=SUM(ひとつ上,番号=A2)
フィルハンドルダブルクリック

2.1 連番として G4セルに
=IF(MAX(E:E)<ROW()-3,"",ROW()-3)
下へオートフィル

2.2 H4セルに
=IF($G4="","",INDEX(A:A,MATCH($G4-1,$E:$E)+1))
右へ 下へオートフィル

(添付図参照)

3.1 G:K列を選択して 切り取り
3.2 別シートへ貼り付け

※配列数式より計算が格段に速いです
「EXCEL 条件に当てはまるリストを自動」の回答画像2
    • good
    • 0

こんばんは!



一例です。
↓の画像でSheet2のA4セルに
=IFERROR(INDEX(Sheet1!A$1:A$100,SMALL(IF(Sheet1!$A$1:$A$100=$A$1,ROW($A$1:$A$100)),ROW(A1))),"")

配列数式ですので、Ctrl+Shift+Enterで確定!
A4セルのフィルハンドルで列・行方向にコピーすると
画像のような感じになります。m(_ _)m
「EXCEL 条件に当てはまるリストを自動」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!