質問: dsum関数、dcounta関数について a~dのエクセルファイルから必要な情報をピックアップしeを作成したいのですが、 a~dを閉じると、eに入れたdsum関数とdcounta関数が#valueになってしまいます。 どうしたらよいのでしょうか? ちなみに入力したdsum関数(テーブル使用)は、 =dsum('[a.xls]1311'!$a$31:$l$300,'[a.xls]1311'!$h$31,i3:j4)です。 ※dcountaも同様です。 自身でいろいろ調べてみましたが、いまいち分からずお手上げです。 よろしくお願い致します。
回答: no.2 です。引き続き、数式の内容を検証させていただきます。数式の記法そのものではなく、参照しているデータのほうに問題があるものとして考えます。 お示しの数式の形では、第 1 引数と第 2 引数で参照している 2 つのセル範囲は、必ず重なりを持ちます。この状態で「0」ではなく「#value!」という計算結果になるためには、第 2 引数の参照元であるシート「1311」上の h 列の中で、● h31 セルに文字列でない値(文字列化されていない数値もダメ)が記入されているか空白である、または、● 32 行目以降にエラー「#value!」が存在する、という 2 条件のうち少なくとも一方を満たしているということになると思います。 なお h 列の 32 行目以降に文字列が存在する場合、それは無視される(「0」として加算される)だけなので、「#value!」にはなりません。また、第 3 引数の参照元の内容が不適切だったとしても「0」という計算結果になって、「#value!」とはならないと思います。 >excel2003を使用しているためでしょうか? dsum 関数についてバージョン間で何か仕様の変更があったという話は、個人的には聞いておりません。関数以外のバージョン間の差異が原因である可能性についても、今のところ思い付くことはありません。