[[20080213201707]] 『2つのシートからのデータの抽出』(つまり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2つのシートからのデータの抽出』(つまり)
 過去ログにそれらしいものが見つからないため、教えていただきたいと思います。

 シート1
   A  B  C  D  E   F   G    H  〜  M
 1 月日    名前     a@ 内容  開始   終了    時間
 2 2/1         s9830013 ●●  9:30  14:00    3.5
 3 2/2         s9830013 ●●  9:30  14:30    4
 4 2/4         s9630021 △△  9:30  17:30    7

シート2

   A  B  C   D   E  F   G   H  
 7        a@ 内容  2/1  2/2  2/3   2/4
 8      s9830013 ●●  3.5  4
 9      s9630021 △△             7

 シート1のE2のナンバーとF2の内容、M2の時間を、
 シート2のように業務ナンバーと月日で集計をとって反映させたいのですが、シート1でデータを統合してみると、ナンバーごとの時間の合計になってしまい、ほかに方法がわかりません。
 どなたか教えてください…よろしくお願いします。
 エクセル2003、OSはXPです。

 こんばんは〜♪

 いろいろ方法はありますが。。。

 Sheet2の

 E8セルへ
 =SUMPRODUCT((Sheet1!$E$2:$E$10=$C8)*(Sheet1!$F$2:$F$10=$D8)*
(Sheet1!$A$2:$A$10=E$7)*(Sheet1!$M$2:$M$10))

 右と下へコピーします。。。
 シート名と行範囲は必要行に変更して下さい。。

 細かい処理はしていません。。。

 (注)SUMPRODUCT関数は、あまりデータ行が多いと重くなります。
 重い場合は、AEF列を繋げて作業列を使うのが良いかも知れませんね。。

 ご参考にどうぞ。。。

 。。。Ms.Rin〜♪♪


 Ms.Rinさま
 レスが遅くなって申し訳ありません。
 教えていただいたとおりやってみたのですが、
 関数の式がそのまま出てしまっていて、
 結果がでない状態になっています。
 セル番号等確認したのですが、どこが間違っているのかわかりません…
 もしよろしければもう一度教えていただけないでしょうか?
 (つまり)

 『=』の前に半角のスペースがはいっていませんか?    (ぷーのすけ) 

 ぷーのすけさま
 スペースが入っていました…ありがとうございました。

 式は入れられたのですが反映していないようです><

 もう一度書き直して見ますので、再度教示おねがいします…

 シート1
    B   N   F   M
 4 月日   a@  内容  時間
 6    s9830013  〇○  3.5
 7        s9830021   △△   7
 8 2/1
 9
 10
 ・・・・・・・・・・・・・・・・・・・・・
 11    s9830013  ○○   4
 12
 13  2/2

 B8、B13に入っているセルは結合してある為、

 セル番号はそれぞれB6とB11になります

 シート2
     C   D   E   F   G   H
 3            2/1  2/2   2/3   2/4
 7  s9830013  ○○     3.5     4
 8  s9830021  △△      7

 上のように、シート1に入力したデータを、シート2の方に、

 bニ内容を反映させて2/1は何時間、2/2は何時間と入れていきたいのですが、
 Rinさんに教えていただいたとおりやっても、どのデータも反映されてきません><
 (最初に私が書いたもののセル番号は直してやってみました)

 申し訳ありませんがよろしくお願いします・・・ 

 


 もしかして計算方法が手動になっているとか?
 [ツール]−[オプション]で計算方法を自動にしてみてください。  (ぷーのすけ)

 計算方法は自動になっています。。。
 =SUMPRODUCT((カレンダー!$E$6:$N$10=$C7)*(カレンダー!$F$6:$O$10=$D7)*(カレンダー!$B$6:$B$10=F$7)*(カレンダー!$V$6:$V$10))
 シート1のシート名がカレンダーなので上のような式を入れてみたのですが、
 今度はE7に0と入ってしまいました><
 どこに問題があるのでしょうか?(つまり)

 式、間違えました!
 =SUMPRODUCT((カレンダー!$E$6:$N$10=$C7)*(カレンダー!$F$6:$O$10=$D7)*(カレンダー!$B$6:$B$10=G$7)*(カレンダー!$V$6:$V$10))
 
 (つまり)

 また間違えました;;
 =SUMPRODUCT((カレンダー!$N$6:$N$10=$C7)*(カレンダー!$O$6:$O$10=$D7)*(カレンダー!$B$6:$B$10=E$7)*(カレンダー!$V$6:$V$10))

 シート1の「No.」や「内容」とシート2のものが違っていたりはしませんか?
 見えないスペースが入っているとか・・・   
 あと、シート1の日付は結合では拾えないと思います。
(ぷーのすけ)

 私の説明が下手で間違って伝わってしまったのかもしれません・・・
 シート2には日付以外に入力されているものは無く、
 シート2の日付に合わせて、シート1のbニ内容とそれぞれの時間を拾い、反映させたいので  す。(つまり)


 >B8、B13に入っているセルは結合してある為、 
 >セル番号はそれぞれB6とB11になります
セル結合が理由でしょう。

 ・結合を解除し、各セルに日付を入れるか、
 ・使わない列(仮にY列)に
=IF(N6="","",IF(B6="",Y5,B6)) として、各行に対する日付を表示させて、この列を利用すれば。
(sin)

 sinさま
 ありがとうございます。
 セルの結合を解除したのですが、やはりできません。。
 シート1のBNFM以外の列のセルの結合は関係ありますでしょうか?
 (つまり)

 結合をすべて解除したのですが、
 E8のセルに「0」となっていて、
 aA内容も反映されておらず、
 データを開くと、循環参照がでます。
 循環参照について調べたのですが、
 いまいちわかりませんでした・・・
 どこに問題があるのでしょうか?
 長々と申し訳ありませんが、教えてください><
 お願いします。
 (つまり)

 風邪っぴきで思考がいつにもまして鈍いです。。。

 今の式は、↓これですね?
=SUMPRODUCT((カレンダー!$N$6:$N$10=$C7)*(カレンダー!$O$6:$O$10=$D7)*(カレンダー!$B$6:$B$10=E$7)*(カレンダー!$V$6:$V$10))

 んで、↓これが、カレンダー シートのレイアウトですね?
    B   N   F   M
  4 月日   a@  内容  時間

 もし、これであっているならば、
カレンダー!$O$6:$O$10=$D7 → カレンダー!$F$6:$F$10=$D7
                                         ~    ~
カレンダー!$V$6:$V$10 → カレンダー!$M$6:$M$10
                                     ~    ~
ではないのでしょうか? 循環参照は、この違いが原因かも???
また、B列の日付は結合解除後に、各セルに日付を入れていますか?
(sin)

 sinさま
 アドバイスありがとうございます。
 何度もやり直し等したため、セル番号を今確認しています。
 もう一度改めて質問をアップさせて頂きたいと思いますので、
 よろしくお願いいたします。
 (つまり)

何度も申し訳ありません。

 再度見直しをして、いろいろと直してみたのですがやはりできません><
 申し訳ありませんが、イチから間違いのないように書いてみますので、
 教えてください。
 よろしくお願いいたします。

 シートは二枚存在します。

 「カレンダー」と「シート3」です。

 レイアウトは以下の通りです。

 「カレンダー」

   A   B  C   〜    N    O   P 〜 U   V 
 6    2/1              s9630021   ●●          3.5
 7    2/1       s9640056   ××          4
 8    2/1
 9    2/1
 10    2/1

 11    2/2       s9630021   ●●                    7
 12    2/2
 13    2/2
 14    2/2
 15    2/2

 「シート3」

    A   B   C    D   E     F   G    H   I  
 3                    2/1   2/2   2/3   2/4  2/5
 7                  s9630021   ●●     3.5       7
 8                  s9640056   ××      4

 カレンダーの日付はセルの結合を解除し、すべてに日付が入るようにしました。

 カレンダーに日々やった仕事のaA仕事内容、それにかかった時間を入力していきます。
 シート3の方には、カレンダーの日付が一か月分飛ぶように設定してあります。(E3には…=カレンダー!B6という具合に月末までの日付が元から入るようにしています)

 やりたいことは、日々入力していった内容を、仕事別に一日何時間使ったのかを集計したいのです。
 (自動的にシート3のC、D、Eのセルにカレンダーに入力した内容が反映されるようにしたい)

 そこで、こちらで教えていただいた通り、
 E7のセルに=SUMPRODUCT((カレンダー!$N$6:$N$10=$C7)*(カレンダー!$O$6:$O$10=$D7)*(カレンダー!$B$6:$B$10=E$7)*(カレンダー!$V$6:$V$10))を入れたのですが、
 循環参照が出てしまい、E7に「0」と入ってしまいます。

 ご指摘いただいた点はすべて直したつもりなのですが、
 どうしても同じ結果になってしまい、上に書いたようなシート3になりません。

 本当に申し訳ないのですが、なにがおかしいのかどなたか教えていただけないでしょうか?

 (つまり)


 こんばんは〜♪

 その後見ていませんでしたので
 失礼しました〜。。。

 >E7のセルに
 >=SUMPRODUCT((カレンダー!$N$6:$N$10=$C7)*(カレンダー!$O$6:$O$10=$D7)*
(カレンダー!$B$6:$B$10=E$7)*(カレンダー!$V$6:$V$10)) 

 の
 カレンダー!$B$6:$B$10=E$7 が循環参照しています。

 E$7 ではなくて E$3 ですね。。。。

 お試しください。。。

 。。。。Ms.Rin〜♪♪

 ぷーのすけさん Sinさん、色々フォローありがとうございました。。。♪


 Ms.Rin〜様、ぷーのすけ様 Sin様
 色々教えていただいてありがとうございました。
 あれからイチから作り直したりやっているのですが、
 結果、E7には#N/Aとなってしまいます。

 ぷーのすけ様が以前おっしゃっていた

 シート1の「No.」や「内容」とシート2のものが違っていたりはしませんか?
  見えないスペースが入っているとか・・・ 

 この件についてですが、シート2(現在はシート3です)のほうに、
 C7とD7が入っていないとE7が入らないのかと思ってやってみたのですが、
 やはり#N/Aとなってしまいます。。。

 (やりたいことはシート3のC7もD7もカレンダーのシートからN6・O6・V6データを持ってきたいのですが…)

 (つまり)


 >(やりたいことはシート3のC7もD7もカレンダーのシートからN6・O6・V6データを持ってきたいのですが…)
 シート3のC7:D7以下のセルは、カレンダーシートの内容を計算式で表示させる という事でしょうね?多分。
カレンダーシートのAA・AB列を作業列に使った場合の例です。
AA6セル =N6&"_"&O6
AB6セル =IF(AA6="_","",IF(COUNTIF($AA$6:AA6,AA6)=1,ROW(AA6)-5,""))
この式をともに下方コピー。
AA列で、N列とO列の文字を『_』で繋いだ文字を作ります。
※『_』は、N・O列で使われていない文字ならOK。どの位置が区切りなのか明確に出来るなら不要。
AB列は、AA列6行目から6行目以下へと範囲を広げていく中で、初登場(戻り値:1)の場合に、6行目を1とする行位置を表示。

 シート3のC7セルに(※式は適当な位置で改行してます。また、カレンダーシートの範囲は実情に合わせてください。)
=IF(ROW(C7)-6>COUNT(カレンダー!$AB$6:$AB$30),"",
INDEX(カレンダー!N$6:N$30,MATCH(SMALL(カレンダー!$AB$6:$AB$30,ROW(C7)-6),カレンダー!$AB$6:$AB$30,0)))
D7セルにコピーし、両方のセルを下方コピー。
シート3のC7(D7)セルの行位置を1と考えて、
カレンダーシートのAB列で計算された数値の小さい順(SMALL関数の順位)に該当するN(O)列の値を返しています。
 とりあえずこんな事?
(sin) 私はフィルタオプションを使う事が多いですけど。。。

 sinさま
 教えていただいた方法でやってみましたが、
 C7、D7、E7に表示されず、C7、D7は#N/Aと出てしまい、
 できませんでした><
 イチから勉強して再度チャレンジしたいと思います。

 みなさん、色々教えていただいてありがとうございました…
 (つまり)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.