こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

<Excel>データベースの中から特定の要件を満たすデータを抽出し、他のシートへ転記

Sheet1に以下のデータがあるとします。

 <納品データ>
  A      B      C      D
1 顧客   商品コード  品名    数量  
2 ○○    0001    りんご   100
3 △△    0002    みかん   500 
4 □□    0003    いちご   200
5 △△    0003    いちご   300     
6 ○○    0003    いちご   100   

上記データを基にSheet2へ顧客別の納品書を作成します。
納品書の雛形は以下のようなものです。

<顧客別納品書>
  A     B     C     D
1         △△   様(敬称)  
2 商品コード   品名     数量
3  0002     みかん    500   
4  0003     いちご    300     

顧客名(上記例だと”△△”)をB1に入力すると、Sheet1を検索しに行き、該当顧客の納品データを抽出し、Sheet2の顧客別納品書に転記するというものを作りたいと考えております。
商品コードと数量さえ抽出→転記できれば、「品名」は別途「品名リスト」等を作成しておき、そこから引っ張ってくれば良いと考えています。
作成要件としては、、、
 1.すべて関数による作成
 2.オートフィルタ等の使用による手作業は不可

Excelをまったくわからない人でも顧客名だけを入力すれば納品書を作成できるようなレベルのものを考えています。また、VBAを使わないのは私自身が理解できないからです。
恐れ入りますがよろしくお願いします。

投稿日時 - 2006-10-02 14:48:58

QNo.2445983

困ってます

質問者が選んだベストアンサー

A3=INDEX(納品データ!B:B,SUMPRODUCT(SMALL(1000^(納品データ!$A$1:$A$999<>$B$1)*ROW($A$1:$A$999),ROW()-2)))
としてC3までコピー後に下方にコピーしてください。
データが存在しない場合は「0」が表示されますので表示形式などで表示しない対応してください。

投稿日時 - 2006-10-02 15:08:09

補足

早速のご回答ありがとうございます。
御礼が遅くなり失礼いたしました。内容を理解できてからと思い、がんばっているのですが、2点ほど判らない点があります。
式の中にある「1000^」と「<>」が何を意味するか、教えていただけると非常に助かります。

投稿日時 - 2006-10-03 14:47:11

お礼

ご回答ありがとうございました。
エクセルで設定したところ、当方が望んでいた通りの結果となりました。
上記質問に記載したデータは簡素化した仮のものなので、実際のワークシートに置き換えて式を設定しようと、鋭意努力中です。

投稿日時 - 2006-10-03 14:52:42

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問