[[20110824210910]] 『別シートから一致する条件のものを全て抽出したい』(SS) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートから一致する条件のものを全て抽出したい』(SS)

お世話になります。

Sheet1に毎月更新される下記のようなデータがあります。(だいたい9000行ぐらいです)
(上書きで貼り付けて更新していきます)
店番・ナンバーのコードは文字列になっています。数値に変更も可能です。

  A   B   C

1 店番 ナンバー 氏名

2 0011 107  あ

3 0011 108  い

4 0022 109  う

5 0033 110  え

Sheet2のB1セルに店番を入力すると該当する店番の行を
A4 B4セル以下に全て抽出したいです。
店番によって2名〜60名の幅があります。

   A      B

1 店番  0011

2

3 ナンバー  氏名

4 107     あ

5 108     い

上記のようなことは可能でしょうか?
よろしくご教授下さい。

エクセル2003です。


 ・Sheet2の店番指定セルをB1ではなく、A2 にする。
 ・Sheet2のA3とB3に項目名を。Sheet1の項目名セルを参照する式でもOK。
 ・Sheet2を表示させた状態で、データ->フィルター->フィルターオプションの設定
 ・リスト範囲をSheet1のA:C
 ・検索条件範囲をSheet2のA1:A2
 ・指定した範囲(O)を選択して、抽出範囲(T)にSheet2のA3:B3
 ・OKボタン

 (ぶらっと)

ぶらっと様
ありがとうございます。フィルターオプションでこんなこともできるのですね!
初めて知りました。

説明不足で申し訳ありません。やりたいことは以下になります。

Sheet2のA2の店番のセルに他の店番を入力したら、その店番に該当するものを表示させたいのですが。
このBOOKを他の人が見た時に自分の担当店を入力したら該当者が表示されるようにしたいのです。

つたない説明で申し訳ありません。
できますでしょうか?
(ss)


いろいろ検索していると他のサイトで以下の解説が出てきました。

(sheet1) データのシートで、1行目は項目列です

   A    B       C      D
1 コード 食品名   一人分  総量
2 101  牛肉    10    100
3 201  じゃがいも 20    200
4 202  たまねぎ  30    300
5 203  人参    40    400

(sheet2) B3・C3セルは項目名で、C1セルに何番代のコードのものを抽出するのか指定するようになっています。

   A    B       C      D
1    コード    300   番台
2     
3      食品名   総量
4   3   じゃがいも  200    
5   4   たまねぎ   300
6  5  人参     400

sheet2の
A4セルに
=IF(AND(Sheet1!A2>=C$1,Sheet1!A2<C$1+100),ROW(A2),"")
と入力し下へコピー。するとA4セル以下に3 4 5と出てきました。
(この式は単純に+100を取るだけではだめなのでしょうか?)

B4セルに
=IF(ISERROR(SMALL($A$4:$A$1004,ROW(A1))),"",OFFSET(Sheet1!$B$1,SMALL($A$4:$A$1004,ROW(A1))-1,(COLUMN(A1)-1)*2))
と入力しC4セルにコピーして2列を下にコピー。
となっていました。

やりたいことと似ている(指定するのが100番台とか300番台というところを
自分は0011とか0022とか決まった文字or数字で指定したいのです)ので
転用できるかな。
と見てみたのですが、式の意味が分かりません。。。
この関数を手直しして使うのは無理でしょうか?

(ss)


Sheet1の空白列に数式を入れることが可能であれば下記の方法はどうでしょう。

Sheet1 E2セルに ※空白列(仮にE列とします)
=IF(A2=Sheet2!$B$1,ROW(A2),"") 以下にコピーペ

Sheet2 A4セルに ※範囲指定$26は任意で 
=IF(ISERROR(INDEX(Sheet1!$B$1:$C$26,SMALL(Sheet1!$E$2:$E$26,ROW(A1)),1)),"",INDEX(Sheet1!$B$1:$C$26,SMALL(Sheet1!$E$2:$E$26,ROW(A1)),1))
以下にコピーペ

Sheet2 B4セルに ※範囲指定$26は任意で
=IF(ISERROR(INDEX(Sheet1!$B$1:$C$26,SMALL(Sheet1!$E$2:$E$26,ROW(B1)),2)),"",INDEX(Sheet1!$B$1:$C$26,SMALL(Sheet1!$E$2:$E$26,ROW(B1)),2))
以下にコピーペ

(ペッコ)


ペッコ様

ありがとうございます!!

できました(*^_^*)

(SS)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.