• 締切済み

エクセル関数 複数条件にあった人物の抽出方法

 下記のようなエクセル(2003)データがあります。  この表は、日付毎の各人の勤務形態を大文字アルファベットで表しています。  (小文字のアルファベットは、別の意味)各人は3行使用してます。    この表を基に、別シート(※2)に1日のB出勤者 Cの出勤者と名前を抽出したいと希望しています。 オートフィルタは、使用せず、関数(2003)で対応したいのですが、その計算式を教えて下さい! (↓データ) 日付  1    2    3   4   5   6   7   8   9  10 平野  B         C D      b         a b      展 大和  B    C        C   B           C       c               展 鳥谷  C    C    C b 展 金本  B      b      展 別シート(※2)  1 B 平野      大和      金本  1 C 鳥谷

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! お望みの配置とは異なるかもしれませんが・・・ 一例です。 Sheet1の日付数値はシリアル値ではなく、単に1~31までの数値が入っているという前提です。 Sheet2のA1セルに日付数値を入力するとその日のB・Cの氏名が表示されるようにしてみました。 アルファベットの大文字・小文字が混在しているというところが少々厄介なので、 ↓の画像のようにSheet1に作業用の列を設けています。 作業列A2セルに =IF(OR(Sheet2!$A$1="",OFFSET($B$1,ROW(A1),Sheet2!$A$1)=""),"",CODE(OFFSET($B$1,ROW(A1),Sheet2!$A$1))) という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そしてSheet2のA4セルに =IF(COUNTIF(Sheet1!$A:$A,CODE(A$3))<ROW(A1),"",INDEX(Sheet1!$B$1:$B$100,SMALL(IF(Sheet1!$A$1:$A$100=CODE(A$3),ROW($A$1:$A$94)),ROW(A1)))) これは配列数式になってしまいますので、Shift+Ctrl+Enterキーで確定! この画面からコピー&ペーストする場合はA4セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 お望みの方法でなかったらごめんなさいね。m(_ _)m

happy4343
質問者

お礼

広島ファンのtom04様 こんにちは お礼が非常に遅くなり誠に申し訳ございません。 なるほど・・・丁寧なご説明感謝です ゆっくりですが、表を完成させています。 誠にありがとうございます。 取り急ぎ お礼まで。 ありがとうございます。

関連するQ&A

  • [エクセル]複数条件を抽出する関数

    エクセル初心者級です。 (関数はある程度理解できますが、マクロはできません) 今、休暇管理のエクセルシートを作っていて 下のような表を作成しています。     A      B      C     D     E     F… 1 [氏名]    [合計]   [4/1]  [4/2]  [4/3]  [4/4] 2 山田太郎  1.5日        半休        全休 3 田中花子  0.5日        半休 4 鈴木美穂  1.0日              全休 このデータを基に別シートのカレンダに落とし込みたいのです。     A     B     C     D     E     F     G 1 2011年4月 2  日曜   月曜   火曜   水曜   木曜   金曜   土曜 3                                 1 2 4                                   山田・田中 5   3     4     5     6     7     8 9 6 鈴木    山田 A1セルに年月を入れたら自動で日付が入るようカレンダは作成しました。 後は、基シート(上の表)でその該当日に 全休なり半休なりの言葉を入れている人を抽出し カレンダの日付の下に名前を入れられるようにしたいのです。 (1)カレンダと表の日付が一致していて (2)その日付の表の所に何かしらの文字が入っている人 を自動で抽出したできるようにしたいのですが 何か良い方法はないでしょうか。 このシートはパソコンを使い慣れていない人も使用するため できれば関数で一発でできるようなものがあれば有りがたいのですが… アドバイスをいただけないでしょうか。 よろしくお願いいたします。

  • エクセル 条件抽出の関数について

    エクセルで予約状況の一覧を作っているのですが、 シートA(担当者A) シートB(担当者B) シートC(担当者C) とそれぞれ入力シートを分けています。 その各シート内に例えば、   A(日付) B(時間) C(内容) 1 7/18    16:00    2 7/19    15:00  3 7/18    11:00 4 7/20    12:30 という様な予約日と予約時間と内容を入力しています。 ※予約発生毎に入力していくので日付はランダムになります。 その各シートから一覧表として    10:00 10:30 11:00 11:30 ~~~~~~~~~ 7/1   1   2    1 7/2   2   3 ~ ~ というような、7/1の10:00に何件の予約があるかという事を一覧表シートへ抽出したいと思うのですが、上手く関数が作れません。。 過去質問もイマイチ、条件の組み合わせがわからず、どなたかお知恵を お貸しください!! 意味が分からない場合は、申し訳ありません。

  • エクセルで、勤務表から 日付別に勤務者と勤務形態を抽出して、別シートに抽出したい

    Sheet 1 勤務表(4月)     A     B     C      D…         4/1      4/2    4/3 … 1 赤星     早1    夜勤入り  夜勤明け … 2 関本    遅1    早1    早1   … 3 新井    休     遅1    早2   … 4 金本    夜勤入り  夜勤明け  休    … 5 ブラぜル  夜勤明け 休     遅1   … 6 桜井    休     早2    遅2   … 7 鳥谷    早2    遅2    早3   … 8 狩野    遅2    早3    休    … 9 藤川    早3    休     夜勤入り … 以上のような、勤務表、(各列には、日付、各行には、従業員の名前が9人)が、あり、毎日、早番 3種類、遅番 2種類、夜勤入り 1人、夜勤明け 2人、休み、のデータが入っています。(ずれていたら、すいません) これを、Sheet 2以降に、日付ごとに、出勤している従業員名と、そのとなりのセルに、その従業員の勤務種別を抽出して、表示したいのです。しかも、夜勤入り、夜勤明け、休みは表示させたくありません。)例えば、こんな感じです。 Sheet 2   Sheet 3    Sheet 4 (4月1日)    (4月2日)    (4月3日) 赤星 早1     関本 早1  関本  早1 関本 遅1     新井 遅1  新井  早2 鳥谷 早2     桜井 早2   ブラぜル 遅1 狩野 遅2     鳥谷 遅2   桜井  遅2 藤川 早3     狩野 早3    鳥谷  早3  いろいろとムシのいい話を書いて申し訳ありませんが、当方vbaの初心者で、このような場合、何から手を付けて良いのか分からず、困っております。どうか、なにとぞ、ご教授下さい。

  • エクセル 関数 複数条件

    データーの集計を 関数かマクロでしたいのですが例えばこのようなデーターが ある場合は自動集計出来ますか? 日付は入力して、その期間だけ集計したいです。 A     B    C   D   E 2009/2/1 2009/2/28 ←日付は自分で入力 項目   A社   B社  C社  D社 鉛筆 紙 赤鉛筆 : : データーはSHeet1にあり 日付を入力すると自動計算されるようにしたいです。 ちなみに データーのSheetには A      B   C   2000/2/14  C社  鉛筆 2000/2/12  B社  赤 2000/2/11  C社  鉛筆 この場合 A     B    C   D   E 2009/2/1 2009/2/28 ←日付は自分で入力 項目   A社   B社  C社  D社 鉛筆        2←と自動計算させたい!! 紙 すいません!関数かマクロを 教えていただきませんか?

  • EXCELでの複数条件の抽出

    初めての投稿で、足らないこともあるかもしれませんが、 よろしくお願いします。 EXCELの表を使って、別のシートに参照する方法をさがしています。    A  B    C   D   E    F   G   H               1           1日        2日 2        予算 実績 累計  予算 実績  累計 3  1 たまご   10  5  3   5   10   10 4  2 とうふ   15  5  8   4   5   11 5  3 みかん   20  6  14   18   4   16       ~      ~ 6    合計   50  35  40    上記のような表を使って、1日の「たまご」(種類)の"予算"を別シートに参照したいのですが、うまくできません。 結果を表わすのは、シートのどこでもかまいません。 できれば、表は変更しないようにしたいのです。 ちなみに、日付は3列を結合しています。(1日はC1,D1,E1で結合) あと、最終的な予算の合計、(上記表では、たまご、とうふ、みかんを合わせたもの)も結果として表示したいのです。 自分でわかる範囲で関数を使ったり検索してみたのですが、どうしてもエラーになり結果が思うように表示されません。 みなさんのお力をおかりしたいので、どうかよろしくお願いいたします。

  • エクセル 複数条件を満たすデータを返す関数

    エクセルで、複数条件を満たした時にデータを返す関数をお教えください。 例えばA列に県名、B列に都市名、C列にアルファベットが入っている表があります。 イメージ・・・(カッコ内はセルの番地) (A1)神奈川県   (B1)横浜市    (C1)X (A2)神奈川県   (B2)横須賀市   (C2)Y (A3)千葉県    (B3)千葉市    (C3)Z この表があり、 (A5)神奈川県   (B5)横須賀市   (C5)??? このようにA5,B5のデータ(条件)に一致するアルファベットを C5に返す関数が必要です。(ここではYを返す) C列が数値の場合は、sumproduct等で可能と思いますが、 C列が文字の場合は使えないのではと考えています。 何か方法はありませんでしょうか?

  • エクセルのVLOOKUP関数で…(複数条件?の抽出)

    ●シート2、A列に部品正式名称、B列に部品略称の一覧表(部品の種類は約500点) ●シート3、A列に略称、B,C,D,E,F,G列と続けて寸法などの詳細を記した一覧表 があります。 ●シート1に検索一覧表として、B列(B3~B8)は項目、セルC3~C8にVLOOKUPでシート3の情報が抽出されるようにしてあります。 C1で略称を入力し抽出するのはOKなのですが、正式名称で入力しても同じようにシート3の情報を抽出するようにしたいです。 (IFを使って思いつく関数を組合わせてみたりしたのですが、うまくいきませんでした(TT) できたら関数で何か良い方法ありますでしょうか? 宜しくお願いします。

  • EXCELの複数条件の抽出について

    下記のような表で それぞれ(AさんBさんCさん)の来店回数を計算したいのです。 注意点としては、「日付が同じ場合は来店を1回とする」です。 もし、表を変えたほうがよい場合は、まだ作成途中なので、助言いただければ、変更しようとも思っております。 A    B     C 日付   氏名    品名 5/2   A    ピラフ        A    ケーキ        B    コーヒー 5/4   C    ピラフ        B    コーヒー 5/9   D    ケーキ 似たようなものを探してみたのですが、どうもうまくいきません。 どうぞよろしくお願いします。  

  • エクセル データ抽出 関数

    過去ログを探しましたが、見つけられなかったのでお願いします。 シート1の表から、シート2のCにデータを飛ばしたいのです。 【シート1】    A  B  C  1     ア イ  2  あ 0.8 0.5  3  い 1.0 0.7   【シート2】    A  B  C  1 あ ア □←シート1の「0.8」を入れたい。  2 い ア □←シート1の「1.0」を入れたい。 以上、よろしくお願いします。

  • excelのVBAを利用し検索抽出を行う方法

    検索というよりデータの抽出の方が正しいかもしれません。 現在、顧客情報を種類別でシートに分けて表で管理しています。 情報には名前などの文字列、日付、時間などが含まれます。 この表の形式を説明すると、 ・列 … B~AI まで項目があります。(A列は使用していません) ・行 … 1行で1つのデータとなります。 ・行数…シートにより行数は異なります。 この形式の表が全部で14シートあります。 このシートのB列に「未・済」のステータスがあるのですが、 すべてのシートの「未」である行のデータを"Sheet1"に抽出させたいと考えています。 さらに、抽出されたデータの"D"列の日付にソートされるようにしたいのですが、 説明がわかりづらかったら申し訳ありません。 VBA初心者のためご教授いただければと思います。 よろしくお願いします。

専門家に質問してみよう