• 締切済み

Excel関数について教えて下さい。

データベースの中から2つの条件に合うデータの抽出がしたい。 例)  A列に店舗番号、B列に職位、C列に名前があるデータベースの中から、 別ファイルで店舗番号別のマネージャー(職位)が誰であるかの一覧表を作成したい。 単純に、オートフィルタでデータ抽出はできるが、頻繁にデータベースの内容が変わるため、 常に最新のデータが作れるように、関数で一覧表をつくりたい。 IFとANDとVLOOKUPでいろいろと考えてみてますが、うまくいきません。。。 どうぞ宜しくお願いいたします。

みんなの回答

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

条件をつけて、「抜き出し問題」はエクセル関数では良い(簡単な判りやすい)関数が無い。 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)
回答No.1

一例です。 別ファイルシート(見出し行あり)のA列に店舗番号が入力されている事とします。 =IF(A2<>"",INDEX(データベースのC:C,SUMPRODUCT((データベースのA$2:A$100=A2)*(データベースのB$2:B$100="職位名")*ROW(データベースのA$2:A$100))),"")

関連するQ&A

  • excel オートフィルター後の通し番号

    A列からP列まで1から100までの表に A列に 通し番号を つけてあります。 これを B列や G列で フィルターをかけて 抽出した データの一覧を 印刷または集計するときに 通し番号を つけてあるA列の 番号が 抽出していないデータも当然かぞえてあるから 抽出データのみに通し番号がつくようにしたいです。 できれば フィルターかけたと 同時に変わる仕組みが望ましいです。 別シートにコピーはしないで このままの表をつかって できないものでしょうか?

  • エクセルのオートフィルタ

    エクセルで住所録を作り、そのうちの東京都のデータだけオートフィルタで抽出し、それを別のシートにコピーして表を作りたいのですが、抽出はできても表にすることができません。オートフィルタで抽出したデータだけを一覧表にすることはできないのでしょうか?

  • 【EXCEL関数】違うシートに抽出結果を出したい

    一覧表から「○」の条件が付いたデータのみを別シートに関数で抽出したいです。 フィルタではなく関数を使用したいのは、抽出したデータから名前の定義を使用して リスト表示をさせたいためです。ご教示のほど、宜しくお願いします。 シート1は一覧表となっており、A列に「○」のついたデータのみをシート2に表示 シート1(一覧表)   A  B 1  ○  山田太郎 2  ×  佐藤次郎 3  ○  高橋三郎 4  ×  鈴木四郎 5  ×  中村五郎 シート2(抽出結果を表示させる)   A  B 1  ○  山田太郎 2  ○  高橋三郎 3  4  5 フィルタオプション、当方の考え得る限りの配列関数等、色々試しましたが、 不勉強のために上手く結果が表示されませんでした。 ご教示のほど、宜しくお願い致します。

  • EXCEL関数でフィルタの様にデータ抽出したい

    発注品一覧表から社別にデータを抽出した発注シートを関数で作りたいです。 オートフィルタは諸事情あって使用しません。 過去の質問のこちらが、かなり近い回答なのだと思いますが 不勉強で自分用に修正ができませんでした。 http://okwave.jp/qa/q3157199.html 一覧表はこのようになっています。 日付 社名 品目 値段 4/1  C社 鉛筆 50円  4/1  A社 定規 150円 4/2  C社 ペン 100円 4/2  B社 鉛筆 100円 社別の別シートに日付・品目・値段を一覧から関数で抽出できるでしょうか? どうぞよろしくお願いします。

  • excel2000、フィルタオプションの使い方について

    こんにちわ。 私はデータベースの同一項目の中から、 複数の要素を「含まない」ものを抽出したいと思っています。 要素が5つくらいあるのでオートフィルタではまかないきれませんで、フィルタオプションでデータベース化 させたいのですが、要素が文字列なせいかうまくいかないのです。 maruru01さんというかたに教えていただいたとおりにとりあえず > 文字列データの場合は一筋縄ではいきません。 > それぞれ、セルに > 「="<>*a*"」(aを含まない) > のように入力する必要があります。 > > それから、同一の項目(データという名前とする)で複数を同時に含まないという条件(AND条件)は、 > > データ データ データ >  a    b    c > > とその項目を複数横(列方向)に並べます。 > (いちいち項目名を付ける必要があります。) > のようにやってみたつもりなのですが、さっぱりうまくいきません。(少なくとも、要素1つだけなら上手くいったが2つ以上だと「含まない」抽出にならないのです) 5つ以上の要素を「含まない」ものを抽出させるには、 どう書式を作ればいいのでしょうか? エクセルでの簡易データベース作りの経験者の方、 ぜひご指導をよろしくお願いします

  • Excel2000マクロ

    お世話になっております。 マクロのことで教えてください(マクロ初心者です(^_^;)) A列・・日付 B列・・時刻 C列・・数値データ “時刻”が2秒おきのデータなので1分おきのデータを抽出したいので、D列にSECOND関数を使って秒だけを抜き出し、 オートフィルタで“0”だけを抽出し、これで1分おきのデータを抽出し、 B列がX軸でC列がY軸のグラフを作ります。 これをマクロで記録して自動的にやりたかったのです。 ですが、 「D列にSECOND関数を使って秒だけを抜き出し、 オートフィルタで“0”だけを抽出し、これで1分おきのデータを抽出し、・・」 のところは、うまくマクロで自動化できるのですが、 別シートに出来たグラフを見ると、一番最初に記録して作ったグラフがそのまんまできてしまいます。 次のデータでグラフをつくりたかったのですが。。 これはどうしてでしょう? グラフまではうまくできないのでしょうか?

  • Excel 日付・時刻データの抽出

    こんにちは。 Excelの表の一列に、「2005/12/8 14:45:00」のように、日付と時刻が表示されています。時刻は、0:00:00、0:15:00のように、15分単位です。データは、100~300件ほどあります。 この表から、時刻が「0:00:00」のみを抽出したいのですけれど、文字列でないためか、オートフィルタやVLOOKUPは上手くいきません。 又、同じ表から、「0:00:00, 1:00:00」のように、1時間単位で、抽出したいのです。 何か、よい方法があれば、教えて下さい。 宜しくお願いします。

  • Excel2003 でオートフィルターの動きがおかしい

    Excel2003 SP2を使っています オートフィルタでは(1)ドロップダウンリストから抽出したいデータを指定する方法と、(2)直接抽出したいデータの入っているセルを選択してツールバーのオートフィルタのボタンを押す方法があります。 (1)の方法で指定した場合には問題ないのですが、(2)の方法でやると、たまに指定した列ではない別の列にフィルターがかかってしまう場合があります。たとえばE12のセルを選択してオートフィルボタンを押すと隣のF列にフィルタがかかり、F列のフィルタオプションを見るとE12のデータが指定されていたりします。いつもおこるわけではなく、またいつも隣の列とは限らず2つ隣の列にフィルターがかかるときもあります、データ量の多いファイルのときに起き易いようなきがします。 これはExcelのバグなのでしょうか、それとも操作方法になにか問題があるのでしょうか、よろしくお願いします。

  • Excel関数でデータを抽出する方法

    Excel初心者教室での課題で、以下のような問題を出されました。 次の表から、データが全てあるものだけを抽出し、sheet1からsheet2に移しなさい。 〈名前〉〈 E社〉〈 F社〉〈 G社〉 〈 A 〉〈 1 〉 〈 2 〉 〈 3 〉 〈 B 〉 〈 2 〉 〈 2 〉 〈 C 〉〈 3 〉〈 1 〉〈 5 〉 〈 D 〉 〈 1 〉 上の表からAとC(3社共にデータがある)ものだけを抽出したいのですが、回答条件が ●データ抽出にはオートフィルター機能は使用せず、関数で処理すること ●今まで習った知識で回答可能 とあり、まだ初心者クラスで、データ抽出に関係がありそうな関数はIF関数やVLOOKUPくらいしか思い当たらず、それらを使って抽出を試みたのですが「三社共にデータがあるものだけ抽出」という条件が処理出来ず、上手く出来ませんでした。 手詰まりで先に進めずに今、困っています。 そこで、Excelに詳しい方にアドバイス頂けたらと思い、書き込みしました。 宜しくお願いします。 文章力が低いので分かり辛い文面で、表も見辛くてすみません。

  • エクセル・オートフィルタを使わず関数で抽出をするには

    excelのデータで、該当する項目のある行のみの抽出をオートフィルタもマクロも使用せずに、関数で行う方法があれば教えてください。     A B 1  桃太郎 123456 2  猿   122222 3  キジ  123555 4  桃太郎 122245    … 1000 桃太郎 002145 ↑このような表で「桃太郎」だけを抽出したいのです。 イメージとしては、ボックスに「桃太郎」と入力するだけで結果が一覧として出るようなものを作りたいのです。 さらにB列が昇順に並び替えされていると、なおよいのです。 随時更新するデータなので、その都度の最新の表が欲しいのです。 オートフィルタ→並べ替えをすれば簡単なのですが、エクセルを全く使えないような人がいる職場環境でして、教えるのが面倒というのとデータがぐちゃぐちゃになったら困るので、誰でも簡単にできる方法はないものかと考えています。 また環境的にマクロはあまり使いたくないのです。 よろしくお願いします。

専門家に質問してみよう