- 締切済み
Excel関数について教えて下さい。
データベースの中から2つの条件に合うデータの抽出がしたい。 例) A列に店舗番号、B列に職位、C列に名前があるデータベースの中から、 別ファイルで店舗番号別のマネージャー(職位)が誰であるかの一覧表を作成したい。 単純に、オートフィルタでデータ抽出はできるが、頻繁にデータベースの内容が変わるため、 常に最新のデータが作れるように、関数で一覧表をつくりたい。 IFとANDとVLOOKUPでいろいろと考えてみてますが、うまくいきません。。。 どうぞ宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
条件をつけて、「抜き出し問題」はエクセル関数では良い(簡単な判りやすい)関数が無い。 2番目以後の該当行をとらえる関数が無いの原因。 (1)関数を組み合わせてやる答えになるが、初心者には理解しがたい内容だ。 コピペして多少自分の場合に合わせて使うのでよければ使えば。 ーー 私なら (2)フィルタオプションの設定にするか (3)(2)のVBA化(マクロに記録)や (4)一般的なVBAの方法でやるやり方 などを使う。 ーー シート上に作業列を使ってよいのなら、関数で 「imogasi方式」(Googleで照会してくれれば沢山記事が出る)で 例データ Sheet3 店舗 職位 氏名 連番 111 店長 木村 1 112 店長 小島 2 112 職員 113 店長 今井 3 113 職員 113 職員 113 職員 114 店長 佐藤 4 F列F2の式は =IF(B2="店長",MAX($F$1:F1)+1,"") 下方向に式を複写する。 (質問するのだからこういう例データぐらい質問に書くこと。) Shee4で A2に =INDEX(Sheet3!$A$1:$C$100,MATCH(ROW()-1,Sheet3!$F$1:$F$100,0),COLUMN()) C2まで式を複写。 A2:C2を下方向に式を複写 結果 111 店長 木村 112 店長 小島 113 店長 今井 114 店長 佐藤 ーー そのほかに、#N/Aの出る問題で付け加えたいことあるが略。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 別ファイルシート(見出し行あり)のA列に店舗番号が入力されている事とします。 =IF(A2<>"",INDEX(データベースのC:C,SUMPRODUCT((データベースのA$2:A$100=A2)*(データベースのB$2:B$100="職位名")*ROW(データベースのA$2:A$100))),"")