advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 295 for cell filename (0.001 sec.)
cell (1170), filename (1981)
[[20030722124710]]
#score: 11170
@digest: dc0bc8a24515989591ad1d49a401067a
@id: 2764
@mdate: 2003-07-24T06:45:25Z
@size: 7106
@type: text/plain
#keywords: リ社 (31260), 藤pc (29523), 月- (23868), タ. (19242), 月'! (17702), 社¥ (15115), 業¥ (13171), ヴィ (10653), 式b (9910), 近藤 (8842), 式a (8704), 月! (8519), 工業 (6821), filename (5734), 元デ (5317), ト¥ (5104), cell (3755), dsum (3603), kkk (2879), ィタ (2545), タリ (2528), 列数 (2169), sumproduct (1885), 配列 (1312), ルク (1234), 回避 (1189), xls (1152), ダブ (1132), デー (1127), 確定 (1043), ブッ (1038), 数式 (1010)
『別のブックのデータをSUMIF関数で集計できますか?』(まる)
元データになるエクセル表を別のブックでSUMIF関数をつかい、集計しようと しました。 例えば、ブック「あ」のSheet4月というデータ内容を元にブック「い」に表作成した とします。 =SUMIF([あ.xls]4月!C2:C5,MID("filename"),FIND("]",CELL("filename"))+1,31),[あ.xls]4月!E2:E5) とすると一応上手くいったのですが、一旦終了して再度開いたとき、 [マクロが含まれています。] そして、 [このブックは他のファイルへの自動リンクが設定されています。 のブックを更新し、他のブックの変更を反映しますか?] という表示がでてきます。 これを、 [マクロを有効にする]→[すべての情報を更新する(はい)]ですすむと 式がこわれてしまうようで、#VARUE!になってしまうのです。 不思議に思って式を確認してみると、 =SUMIF('C:¥WINDOWS¥デスクトップ¥まる¥[あ.xls]4月!C2:C5,MID("filename"),FIND("]",CELL("filename"))+1,31),'C:¥WINDOWS¥デスクトップ¥まる¥[あ.xls]4月!E2:E5) のように式が増えています。 なぜなのでしょうか? なにとぞご指導お願いいたします。 ---- 式が長くなっているのは、リンク先のファイルが開かれていない場合、フルパスでファイル名が表示されるからです。 この問題の回避方法としては、下記のURLが参考になると思います。 マイクロソフト サポート技術情報 - 260415 [XL2002]SUMIF、COUNTIF、COUNTBLANK 関数で#VALUE!エラー http://support.microsoft.com/default.aspx?scid=kb;ja;260415 (kkk) ---- kkkさん、ありがとうございます! こんな場所があるんですね・・。(感涙) さっそくやってみました。 が・・・ エラーはでないのですが、なぜか集計結果が0円になってしまいます。 ちゃんと該当する金額はあって、式が正常なら0円にはなりません。 元の式は他のブックのデータを引張ってきて、集計できるよう作ったものです。 それを直したのですが・・・。 なにか記号が足りないか、場所が違うのかもしれませんが見直しても合っているように 見えてしまいます・・。 < 訂正前 > =SUMIF('[元データ.xls]4月'!$E$4:$E$37,MID(CELL("filename"),FIND("]",CELL("filename"))+1,31),'[元データ.xls]4月'!$H$4:$H$37) < 訂正後 > =SUM(IF('[元データ.xls]4月'!$E$4:$E$37=MID(CELL("filename"),FIND("]",CELL("filename"))+1,31),'[元データ.xls]4月'!$H$4:$H$37,0)) あと、同じように他のブックからのデータをDSUM関数で集計しているものも あるのですが、やはりエラーがでてしまいます。 教えていただいた場所にはDSUM関数がなく、対処方法をご存知のかた いらっしゃいますでしょうか?なにとぞご指導おねがいします! ---- 回避策のところに、 注意 : 以下の SUM と IF 関数を組み合わせた数式は、配列数式として入力してください。 配列数式として入力するには CTRL+SHIFT+ENTER で数式を確定します。 という文面があります。 このとおりにやると、数式バーの数式の前と後が、{ と } で囲まれます。 そうなっていますか? (kkk) ---- kkkさんありがとうございます。 CTRL+SHIFT+ENTER で確定したら計算できました。 (ちゃんと読んでないんですね・・私。ごめんなさい・・) それで、お伺いたいのですが、確定したあとに数式の入ってるセルを ダブルクリックすると{ }が消えておかしな合計がでてしまいます。 またCTRL+SHIFT+ENTERをしなおすを元にもどるのですが・・・。 1度確定したら、ダブルクリックしても戻らない方法はありますか? あとやっぱり、DSUM関数の#VALUE!エラー の回避はないのでしょうか? なんども申し訳ありませんが、宜しく御願い致します!! ---- いろんな問題点が出てきそうですね。 いっそのこと、データを別シートにリンクさせておいて、それを元に処理をすれば、いろんな問題点も解決すると思いますが? それではだめなんでしょうね。 ○配列数式の場合、ダブルクリックしてそのままEnterをおすと、数式が解除されるのは、仕方ないと思いますが、 SUMPRODUCT関数を使用すると、配列数式の形をとらずに入力できます。 たとえば、今の式は、下の形式になっていますね。 =SUM(IF(式A,式B,0)) CTRL+SHIFT+ENTER それを、 =SUMPRODUCT(式A*式B) にすると、処理は同じ処理ですが、配列数式の入力形式をとっていないので、ダブルクリックをしても大丈夫です。 ○DSUMも配列数式に変換するしかないのではないでしょうか。 一応、同一ブック、同一シートの例を書いておきます。範囲を適宜、ご自分の環境に合わせて変更して下さい。 A B C D E 担当 取引先 金額 担当 取引先 近藤 PC21工業 ¥19,000 近藤 PC21工業 近藤 ヴィタリ社 ¥29,500 三田 BPネット ¥54,050 近藤 ヴィタリ社 ¥9,550 近藤 PC21工業 ¥2,600 三田 ヴィタリ社 ¥11,900 後藤 PC21工業 ¥27,400 新井 ヴィタリ社 ¥12,100 増沢 BPネット ¥25,300 =DSUM(A1:C10,C1,D1:E2) 上の式を配列数式にすると、下記のように表すことができます。 =SUM((A2:A10=D2)*(B2:B10=E2)*C2:C10) 配列数式(Ctrl+Shift+Enter) =SUMPRODUCT((A2:A10=D2)*(B2:B10=E2)*C2:C10) 私にできるのは、これ位です。 (kkk) ---- kkkさん次々と出てくる問題にご親切に答えていただき、本当に有難う ございます。DSUM関数の方、上記方法で無事解決しました。 しかしSUMIF関数をSUMPRODUCTに変えてみたところまた#VALUE!エラー がでてしまいました。たぶん式の入力がまちがっていると思われるのですが、どこをどうすればよいか・・。 kkkさんのアドバイスによれば式Aと式Bの間に*を入れるということですが、 下記の式の場合、どこか式の分かれ目なんでしょう??? ほんとにすいません。もうすこしだけアドバイスを御願いします! (変更前) =SUM(IF('[元データ.xls]4月'!$E$4:$E$37=MID(CELL("filename"),FIND("]",CELL("filename"))+1,31),'[元データ.xls]4月'!$H$4:$H$37,0)) (変更後:これでダメでした) =SUMPRODUCT('[元データ.xls]4月'!$E$4:$E$37,MID(CELL("filename"),FIND("]",CELL("filename"))+1,31)*'[元データ.xls]4月'!$H$4:$H$37) (まる) ---- =SUM(IF('[元データ.xls]4月'!$E$4:$E$37=MID(CELL("filename"),FIND("]",CELL("filename"))+1,31),'[元データ.xls]4月'!$H$4:$H$37,0)) CTRL+SHIFT+ENTER の式では、計算できたんですよね。 この式を変換するということです。 =SUMPRODUCT(('[元データ.xls]4月'!$E$4:$E$37=MID(CELL("filename"),FIND("]",CELL("filename"))+1,31))*'[元データ.xls]4月'!$H$4:$H$37) として下さい。 (kkk) ---- kkkさんありがとうございます! できましたよう〜(涙) =はそのままにして、最初の式に()つければよかったんですねえ・・。 教えてもらうと納得するんですが、どうして自分で気づけないのだろう・・。あう kkkさん、もう一つ新たな問題が出てしまったんです。 元データの参照するシート数が増えることになってしまいました。 元データというのは月ごとのシートでどれもフォーマットは同じです。 しかし、まれにひと月分が4月ー1・4月-2というように2枚のシートにまたいで しまうことがあります。 こういう場合、式の入力はどのようになるのでしょう??? 例えば上記SUMPRODUCTの式をSheet4月-1・Sheet4月-2から参照するとしたら =SUMPRODUCT('[元データ.xls]4月-1:4月-2'!$E$4:$E$37,MID(CELL("filename"),FIND("]",CELL("filename"))+1,31)*'[元データ.xls]4月-1:4月-2'!$H$4:$H$37) みたくなるのでしょうか ほんとうにごめんなさい・・・。 もう少しだけお付き合いください。どうぞ宜しくおねがいします。 (まる) ---- 式は長くなりますが、単純に2つの式を足せばいいと思います。 =SUMPRODUCT(4月-1の式)+SUMPRODUCT(4月-2の式) これ以上思い浮かびません。処理時間は大丈夫なんでしょうか? (kkk) ---- できました〜! 感謝の言葉もありません。 処理時間は使ってみてあまりにかかるようなら 考えようと思います。でも大丈夫だと思います。 ほんとにほんとにありがとうございました。 (まる) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200307/20030722124710.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional