• 締切済み

エクセルでの、表からのデータ抽出について

関数を使った、表からのデータ抽出方法について教えてください。 氏名 生年月日 年齢 担当者 所属 佐藤 1973/4/5 33 加藤 営業 上田 1987/10/4 19 永田 経理 林 1978/6/8 28 永田 営業 西田 1977/7/9 29 清水 営業 長尾 1984/6/25 22 加藤 経理 上のような表がある時に、別のシートに誕生日ごとの表を出したいのですが、どのようにすれば良いか分からずに困っています。なお”別のシート”に抽出したデータは、以下のような表をイメージしています。 (抽出例) 1月生まれ 該当者なし 2月生まれ 該当者なし 3月生まれ 該当者なし 4月生まれ 5日 1973 33歳 佐藤 (加藤) 5月生まれ 該当者なし 6月生まれ 8日 1978 28歳 林 (永田) 25日 1984 22歳 長尾 (加藤) というように、誕生日を基準に月ごとに表示され、該当するデータの横軸のデータも連動して表示したいのと、可能であれば日にちの若い順に順番に表示ができれば理想的です。またできることなら、営業か経理かでシートが分けられると完璧です。 自分でできない割には欲張りな質問ですみません。方法をご存知の方に、ご教授いただければありがたいです。よろしくお願いいたします。

みんなの回答

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

仮に同一シート上の A4:E10にデーターが A3:E10に表題が入っているとして書いています 又、該当データがなかったときは「-」と表示させてます =IF(INDEX(FREQUENCY(MONTH($B$4:$B$10),ROW($1:$11)),ROW(A1))<COLUMN(A1),"-",LOOKUP(1,{1},TEXT(INDIRECT("b"&SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1)),),"d日 yyyy ")&TEXT(INDIRECT("c"&SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1)),),"0 歳 ")&TEXT(INDIRECT("a"&SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1)),),"@ ")&TEXT(INDIRECT("d"&SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1)),),"(@)"))) これってエラー出ますかね? もしエラーが出たなら SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1)) を lookup(1,{1},SMALL((MONTH($B$4:$B$10)<>ROW(A1))*65555+ROW($B$4:$B$10),COLUMN(A1))) と、すべて代えて頂けますか? あと本来要らないように作ったはずなのですが 編集前後の両方の式で 「Control」+「Shift」+「Enter」で配列数式として確定して見てください エラーが回避できたなら十数列、12行にわたってCopyしてみてください お望みの回答がお望みの書式で出てくるはずです 今日再々度目くらいのOSのリストアしたのですが うちのexcelなんか調子悪くて… 式の長ささえ問題なければ ネストも6だし構文も問題ないと思えるので 無事に値を出してくれるはずなのですがね~ とにかく試してみて頂けませんか? もしくはそこの貴方! 赤ペン先生をお願いして構いませんか? (~ ~;)ヾ

kumasannn
質問者

お礼

お返事が遅くなりましてすみません。 No.1の方と同様に何度も試してみたのですが、No.2番さんの方式でも上手くいきませんでした。 せっかく教えていただいたノウハウを生かせなくてすみません。またの機会には懲りずにいろいろ教えてください。 ありがとうございました。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

 「抽出例」のような形で抽出するのは、関数では不可能ですね。 各月の生年月日がいくつ出るか、確定しませんので。 方法論の一つの例です。  | A  |  B   … 1| 氏名 | 生年月日 … となっていると思いますが、2列ほど計算のための列を入れさせて頂き、氏名をC列、生年月日をD列とします。 B列に =if(c2="","",month(D2)*100000) と入力します。  また、所属の列に「セルの書式設定」→「ユーザー定義」により[=1]"営業";[=2]"経理" と入れます。 これにより、所属の列は 1と入力すると「営業」2と入力すると「経理」と表示されます。 A列には、 =if(c2="","",COUNTIF($B$2:B2,B2)+B2+g2*100) と入力します。 これにより、6桁目に生まれた月、3桁目に営業か経理の区別、下2桁が登場順となります。 「挿入」→「定義」で、列は、A列から最終列まで、行は、最終行よりゆとりを持たせた範囲に名前を定義してください。たとえば、「一覧」とします。 シート2に移ります。 1月生まれの営業の人には、100100番台の、経理の人には、100200番台の、番号が付きます。 2行目からデータを表示させるとして、 A列に =100100+row()-1 と入力します。 B列には、 =if(iserror(vlookup(a2,一覧,3,0)),"",vlookup(a2,一覧,3,0)) と入力し下に数式をコピーすると、一覧ができそうに思いました。

kumasannn
質問者

お礼

ご返事が遅くなりすみませんでした。 何度も試してみたのですが、何故か表示ができませんでした。 せっかく教えていただいたのに活用できませんですみません。 またの機会には、懲りずにいろいろ教えてください。 ありがとうございました。

関連するQ&A

  • Excel 他シートのデータを抽出

    お世話になっております。 さっそく質問失礼いたします。 全売上が記載されたシートのデータを抽出し、営業担当者名で割り振られた各シートに該当するデータを抽出する方法を教えてください。 具体的には下記のようなものを作成したく思います。 シート1(月度売上表) 日付 担当 商品 台数 1日 田中  A1  1台 1日 山田  B1  2台 1日 佐藤  B1  5台 2日 田中  B1  3台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 シート2(田中) 日付 担当 商品 台数 1日 田中  A1  1台 2日 田中  B1  3台 シート3(佐藤) 日付 担当 商品 台数 1日 佐藤  B1  5台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 以下続く 以上のような表を一覧として作成したいと思っております。 シート1に内容が記載されたら自動的にリンクされるようにしたいので、ご質問いたしました。 よろしくおねがいいたします。

  • エクセルで別シートにデータ抽出したい

    一覧表として作成したシートのデータのうち、ある条件のものだけ別シートにデータ抽出するにはどうしたら良いですか? 例えば、 NO. 担当 金額 1  佐藤 200 2  佐藤 100 3  鈴木 200 4  佐藤 400 とある「一覧表」シートのデータから 担当:佐藤のデータだけ抜き出した表を別シート(「個人別」シート)に作成したいのです。 できれば、「一覧表」に新データを追加する度に、「個人別」シートにもデータが自動反映するようなものが望ましいのですが。 そんなことは可能でしょうか? アクセスを使えば簡単にできるかとは思いますが、アクセスがないので、エクセルで代用できればと。 宜しくお願いいたします。

  • エクセル表からの抽出して別の表を作る

    探し方が悪いのか、エクセルならできそうなのに答えが見つからず苦戦しています。どなたかお知恵をお貸しください。 1/1   1/2 佐藤 車    自転車 田中 バイク   加藤      バイク 吉田 車    車 山田 自転車  車 伊藤 バイク  車 鈴木 車    自転車 このような一覧表があります。これを基にして、次のような表を作りたいのです。    バイク  車   自転車 1/1  田中   佐藤  山田     伊藤   吉田          鈴木 1/2  加藤   吉田  佐藤          山田  鈴木          伊藤 最初の表は非常に細かく、半年分が1枚のシートになっているため見にくく、月単位で見やすい表に変えているのですが作業が面倒なのでなんとかならないかと考えています。 どうぞよろしくお願いいたします。

  • エクセルのデータ抽出について

    エクセルのデータ抽出(?)について質問なのですが、 例えばシートで○○店、▲▲店、××店というように分かれていて、それぞれのシートの中に、同じような表があり、    A      B 1  氏名    更新日 2  鈴木太郎  2008/12/20 3  佐藤花子  2009/03/15 といったように、更新が必要な人だけがBのセルに更新日が入るとします。(更新不要の人は空白です。) この更新日が入力されている人の行を、抽出するような感じで別シートへ自動で出来るのでしょうか?(更新必要なくなって、更新日を空白にしたら、抽出したほうも自動で消えるような)

  • excel データの抽出について

    仕事でexcelの表からデータを抽出して資料を作成したいと思っています。 ≪シート1≫表から≪シート2≫表へ「1が立っているデータのタイトル(あ~お)を抜き出したいのです。どなたか方法があれば教えてください。(できればVBA等を使わないで作りたいです。) ≪シート1≫     あ い う え お A  1    1 B     1 1   1 C         1 1 ≪シート2≫ A あ う B い う お C え お

  • エクセルで別シートのデータを抽出

    ~シートA~   A B C D E F G  ┌─────────────┐ 1│ │10│20│30│40│50│60│  │ │───────────│ 2│ │11│21│31│41│51│61│  │4│───────────│ 3│月│12│22│32│42│52│62│  │ │───────────│ 4│ │13│23│33│43│53│63│  │ │───────────│ 5│ │14│24│34│44│54│64│  └─────────────┘ 6  ┌─────────────┐ 7│ │10│20│30│40│50│60│  │ │───────────│ 8│ │11│21│31│41│51│61│  │5│───────────│ 9│月│12│22│32│42│52│62│  │ │───────────│ 10│ │13│23│33│43│53│63│  │ │───────────│ 11│ │14│24│34│44│54│64│  └─────────────┘         ・         ・         ・ ~シートB~   A B C D E F G  ┌─────────────┐ 1│ ▽ │ │ │ │ │ │  │ │───────────│ 2│ │ │ │ │ │ │ │  │○│───────────│ 3│月│ │ │ │ │ │ │  │ │───────────│ 4│ │ │ │ │ │ │ │  │ │───────────│ 5│ │ │ │ │ │ │ │  └─────────────┘ ↑はリストボックスで1月~12月の値が入っている。 上記条件でシートBのリストボックスから選んだ月のデータをシートAの表から該当する月のデータを全て抽出したいのですが、どのようにすればよろしいでしょうか。

  • Excel 該当データ数の抽出方法(日付)

    Excel 該当データ数の抽出方法(日付) <元データ>  A    B      C 1 氏名  開始日  終了日 2 3 青木 2010/3/1 2010/3/10 4 石田 2010/3/1 2010/3/20 5 鈴木 2010/3/3 2010/3/7 6 佐藤 2010/3/1 2010/3/3 7 田中 2010/3/5 2010/3/17  上記のような元データがあった場合に、各日に実施されているデータ数(開始日~終了日の間 に当たるデータ数)を以下のように抽出したいのですが、その方法を教えていただけないでしょうか。抽出先は同じシート内でも、別シートでもいいのですが。 <抽出>    A      B 1  日付    該当数 2 3 2010/3/1   3 4 2010/3/2   3 5 2010/3/3   4 6 2010/3/4   3 7 2010/3/5   4  よろしくお願いします。 

  • 表からの抽出

    素人からの質問です。 エクセルのシート1にこの様な表があります。 世帯主  名義人  不動産種類  面積 佐藤A子 佐藤B子 宅地     100m2 山本C男 山本D男 畑      200m2 佐藤A子 山田F雄 山林     5000m2 次にシート2で検索する1つのセルに 佐藤A子 と入力します。 世帯主  名義人  不動産種類  面積 佐藤A子 佐藤B子 宅地     100m2 佐藤A子 山田F雄 山林     5000m2 この様に、世帯主が 佐藤A子 のデータだけが抽出されるようにしたいのですが、どうすればよいでしょうか?(オートフィルターは使用したくありません。)関数又はマクロでの作成方法を教えてください。

  • エクセルデータ抽出方法を教えてください

    エクセルでのデーター抽出方法を教えてください、シート1:A1にUA1と入力し、シート2:A列にはUA1・・・・複数のデータが縦に並んでいます、シート1:A1に入力したデーターを元にシート2:A列を検索し該当するデータの抽出を行いたいです、VLOOKUPではうまく行きません教えてください

  • 【エクセル】データ抽出する関数の使い方

    データを抽出するのに、今までVlookupなどを使っていました。 今回2つの項目(下記の表だと月と色)を指定して、抽出したいです。 Sheet1(元データ)   A  B  C   1 月  色 値段 2 01  赤 4532 3 02  赤 1495  4 01  白 10012 5 03  赤 7568 6 02  白 78964 7 01  緑 78932 8 02  緑 7894 9 上記のような表から、下記のような形にデータを抽出したいです。 Sheet2   A  B   C    D    E  1 色 1月値段 2月値段 3月値段 2 赤 4532  1495 7568 3 白 10012 78964 4 緑 78932 7894 5 … 6 … Sheet2の色の項目内(A列)の順番は決まっています。 色に対応する、月ごとの値段の出し方がわかりません。 Sheet1のデータは2000行弱くらいの量です。 月は3月までです。説明不足名ところがありましたら 追記いたします。 ※重要なのが元データのシートで作業列などを追加することが出来ませ  ん(色と月を結合した列を追加などが出来ません)。Sheet2のセル内  に関数を記入するだけで今回のようなことは可能 でしょうか。 すみませんがご指導よろしくお願いいます。

専門家に質問してみよう