[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.