[[20060823173955]] 『データベースから違うファイルへリンクして複数条』(ゆた) ページの最後に飛ぶ

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

 

『データベースから違うファイルへリンクして複数条件で合計を出す』(ゆた)

こんなデータベースで ファイル名は2006年7月という感じで月ごとに打ち込んでいきます。↓

ファイル名:集計入力2006年7月

       A       B         C        D         E         F       G     H
1 集計番号  日付    現場名 得意先名 作業員名 契約項目 BL数 定時
2      1    2006/8/1    大阪  ○△建設 山田太郎 舗装工  1BL  8
3   2    2006/8/1    大阪   ○△建設  山田太郎 舗装工  1BL  8
4
5

↑このような感じで打ち込んでいき、下記のような条件で集計するのですが、違うファイルで表を作って集計したいのです。

ファイル名:集計表

    A      B       C       D     E          F       G      H
   

1 現場名  日付  契約項目  BL数   定時

2  大阪 2006/8/1  舗装工   1BL   

3

4

↑のような感じで別のファイルに表を作成してE2に式を入れて定時の合計を出したいのですが、違うファイル間でのリンクのためやり方がわかりません。どうしたらできますか? 


こんばんは、ぷりたまです。

集計入力2006年7月のデータが20行まで有るとして

集計表のE2セルに

=SUMPRODUCT(([集計入力2006年7月.xls]Sheet1!$C$2:$C$20=A2)*([集計入力2006年7月.xls]Sheet1!$B$2:$B$20=B2)*([集計入力2006年7月.xls]Sheet1!$F$2:$F$20=C2)*([集計入力2006年7月.xls]Sheet1!$G$2:$G$20=D2)*([集計入力2006年7月.xls]Sheet1!
$H$2:$H$20))

でいかがでしょうか?


こんばんわ、ぷりたまさん。ありがとうございました。教えて頂いた数式でやったらできました。
ついでにもう一つ教えてほしいのですが、今度は集計入力2006年7月というファイル名を参照するときに2006という数字と7という数字の参照を変える場合に例えば2006年9月になった場合、どの数式を用いれば参照が変わっても対応できますか?

2006とか7と言う数字を集計表のどこかに入力しておき
それを参照すれば良いでしょう。

   A    B      C    D    E

          
1  年    月

2 2006    7

3 現場名  日付   契約項目  BL数   定時

4 大阪  2006/8/1   舗装工   1BL   

5

としておき INDIRECT関数を使えば良いでしょう。

=SUMPRODUCT((INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$C$2:$C$20")=A4)*(INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$B$2:$B$20")=B2)*(INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$F$2:$F$20")=C2)*(INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$G$2:$G$20")=D2)*(INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1! $H$2:$H$20")))

但し参照するファイルが全て開いていなければなりません。
ファイルが開いて以内と#REFとなります。


ありがとうございます。何度かINDIRECT関数使って数式を組みなおしてるのですが、まだできません^^;上記に書いてある通りに作ったら出来たのですが。。。自分で作った元の方だとできません^^;頑張って原因突き止めてやってみます。ありがとうございました^^

俺の式の作り方が悪かったみたいで、ちゃんとできました^^ありがとうございました。
それと、INDIRECT関数を使うと列の指定が

INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$C$2:$C$20")=A4)

↑のように2行目から20行目という感じに入力されてる部分を指定しないとエラーになるのですが、C:CのようにC列全体を指定してもエラーになるし、データが入ってる部分だけの行までを指定したいのですが、どうしたらできますか?


 うまくいくかどうか分かりませんが
COUNT(INDIRECT("[集計入力"&A2&"年"&B7&"月.xls]Sheet1!$C:$C"))
 として、最終行数が求まるようならその数字をINDIRECTで使うのも
 一つの方法かもしれません。

 その際直接「20」と数式を置き換えても良いとは思いますが
 式が長くなるので何処かのセルに一度だしてから参照するのが
 良いかもしれませんね。

 (HANA)

あ〜なるほど〜COUNTでやってみたけど式が長すぎてだめだったんですよ^^;
そうですね、どっかに上記の式を作ってそこを参照すればいいですね^^
これで、解決できました〜^^ありがとうございました〜^^

コメント返信:

[ 一覧(最新更新順) ]


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