• 締切済み

DSUM関数 

今2003のエクセルを使用しています。 DSUM関数の条件の部分で条件が多くにわたってあるため(月別の業者別)条件リストのシートを分けました。 結果、シートをまたいで計算式をいれると、一応値はでるのですが、エクセルの関数挿入のところで自分の計算式を確かめると、条件部分に【#VALUE!】と出てしまうため、気になります。計算はあっているのでしょうか? シートをまたぐとシート名が出てしまうため文字列となってしまうのでしょうか? 会社で使用しているため急いでいます・・・

みんなの回答

  • myRange
  • ベストアンサー率71% (339/472)
回答No.5

おそらくこの質問では最後の登場になるでしょう、myRangeです。 >=DSUM($A$1:$F$34,$C$1,リスト!A7:C8) >=DSUM($A$1:$F$34,$C$1,リスト!A9:C10) なので、3つ目は =DSUM($A$1:$F$34,$C$1,リスト!A11:C12) となるんですよね。(行番号が2ずつ増える) ●簡単な方法● 問題の式を  H1  H2  H3 にセットするとしたら下記のように"H1"に式をいれ  H1 =DSUM($A$1:$F$34,$C$1,リスト!A7:C8)  H2 空白のまま この状態で、"H1"と"H2"の2つのセルを選択し、 下方向に、フィルハンドルをドラッグして式をコピー。 この時どの行までコピーしていくかというと セルを2つずつコピーするので、必要行の2倍ということですね。 上記例でいうと、"H6"までになります。 すると、下記のようになりますね。  H1 式  H2 空白  H3 式  H4 空白  H5 式  H6 空白 ここで、空白セルを選択 >右クリック > 削除 を繰り返す。  ●空白セルを選択するときは、 Ctrlキーを押しながら、空白セルを選択すると 飛び飛びの(任意のセル)を同時に選択できますので 適当な数の空白セルを選択したら、右クリック>削除 と繰り返すとなお簡単ですね。 ●またそれが面倒だというときは次のようにして空白セルを一気に削除できます。   (1)H1~H6を選択 (2)「編集」メニュー > 「ジャンプ」 (3)表示される「ジャンプ」ダイアログで何もしないで、    下部の「セル選択」ボタンをクリック (4)今度は「選択オプション」ダイアログが表示されるので    表示されてる項目の「空白セル」にチェックを入れる (5)下部「OK」ボタンをクリックしてダイアログを閉じる (6)H1~H6の空白のセル(H2,4、6)が選択された状態になっているので    選択されたセル(どれでもいい、仮にH2)の上で、右クリック    表示されるメニューで、「削除」をクリック これで全ての空白セルが一気に削除されます。   ●そんなの面倒だぁ~、ということであれば、 次の式を先頭セルにいれ下方向にフィルハンドルドラッグすればOKです。 =DSUM($A$1:$F$34,$C$1,INDIRECT("リスト!"&"A"&(ROW(A1)*2+5)&":C"&(ROW(C1)*2+6))) ただ、この式を理解できないのであれば、 リストのセル位置など変更になったときに 対処できないことになりますので、お勧めできません。 以上です。    

rinn-go
質問者

お礼

本当に親切にありがとうございます。 何度も質問してしまい申し訳ありませんでした。 お手数おかけしました。 結構複雑で難しそうですけど、やってみます。 本当に本当にありがとうございました。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

またまたまた登場、myRangeです。 #VALUEがとても心配のようなので、例をひとつ。 新しいブックを開き セルA1に、10 セルA2に、20 セルA3に、ああ (数値ではなく文字列を入れる) 入れて セルA4に =SUM(A1,A2,A3) と入れる 数式パレットをみると、 3番目のところが、#VALUE、になってるはず。 が、結果は正しい。 ●今回の場合もそれと同じです。 以上です。  

rinn-go
質問者

お礼

お返事おそくなって申し訳ありません。 すごくわかりやすく丁寧に教えていただき感謝いたします。 確かに計算結果をみると大丈夫のようなので、続いて計算式をいれようとおもいます。 あと、とても申し訳ないのですが、ついでにもうひとつ教えていただけると助かるのですが・・・・ ★リストシートに縦列に月別の表を作っているのですが、取引先が複数 あります。合計表に計算式をひとつずついれると、結構大変です・・・ コピーできれば助かるのですが、月別の表が縦にあり、条件と交互にあるためコピーをするとずれてしまいます。ひとつ飛ばしにコピーする方法はありますか?説明が下手でわかりにくくて申し訳ありません。 ★=DSUM($A$1:$F$34,$C$1,リスト!A7:C8)  =DSUM($A$1:$F$34,$C$1,リスト!A9:C10)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

再度の登場、myRnageです。 >データーベースの方に合計表として結果をだしたいのでsheet1にはりたいのです。 >そうすると、#VALUEがでてしまいます。 >が計算上は問題ないということで大丈夫でしょうか? 先の回答にも書きましたが、 #VALUEが出ているところは結果とは何の関係もありませんので問題ありません。 安心して使用してください。   以上です。  

noname#204879
noname#204879
回答No.2

》 計算はあっているのでしょうか? 》 会社で使用しているため急いでいます 「あっている」かどうか、何処を見ればよいのですか?

rinn-go
質問者

お礼

遅くなり申し訳ありません。 説明不足でした。計算式はあっているか?ということでしたが、計算式の具体例を出していなかったため、わかりにくくなってしまいご迷惑おかけしました。 今回のDSUM関数に関しては解決いたしましたのでご協力ありがとうございました。 今後質問の際にはもう少しわかりやすい説明を心がけようと思いますので、よろしくお願いします。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

結論から言うと、問題なし、です。 データベースがSheet1にあり、 条件リストが、Sheet2にあった時に 例えば、  =DSUM(A1:C7,C1,Sheet2!A1:B2) これをデータベースのシート(Sheet1)にセットすると#VALUEがでますが  =DSUM(Sheet1!A1:C7,Sheet1!C1,A1:B2) これを条件リストのシート(Sheet2)にセットすれば、でません。 #VALUEのところは、セルの内容が表示されるところですから 恐らく、"A1:B2" とは表示できるが シート名付きの、"Sheet2!A1:B2" とは表示できないよ、 という程度のことではないでしょうか。 以上です。

rinn-go
質問者

補足

 =DSUM(A1:C7,C1,Sheet2!A1:B2) これをデータベースのシート(Sheet1)にセットすると#VALUEがでますが・・・ データーベースの方に合計表として結果をだしたいので、sheet1にはりたいのです。そうすると、#VALUEがでてしまいます。が計算上は問題ないということで大丈夫でしょうか? たびたび申し訳ありません。

専門家に質問してみよう