- ベストアンサー
EXCEL データベース関数のデータベース部分を可変にしたい
データベース関数の式は、 D関数(データベース,集計したいフィールド,条件) で表されますが、この中のデータベース部分を可変に することは可能でしょうか? 可能であれば、その方法を教えて頂きたくお願いします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
可変って事は、D関数はいじらず、データベース部分に、 他のセルで記述される範囲指定を持ってくる。とかでいいんでしょうか。 123なら@@関数でできそうだけど、 Excelだとなんだろうなーっと調べてみました。 INDIRECT関数で出来そうな感じです。 別セルへ範囲の指定を文字列で書き込んでおき、 D関数(INDIRECT(範囲が書かれたセル番地),フィールド,条件) とかで、どーでしょ。 ちなみに、INDIRECTで指定するセルに書き出された範囲は、 文字列結合の結果とかでも大丈夫みたいです。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
私も前からこんなことが出来ないかと思っていました。 基本的には、固定範囲の演算しか念頭にないと思いますが。 下記で出来ましたが、半信半疑ですが大丈夫でしょう。INDIRECTを使います。A1セルに(例えば)「人数」、 まずA2:A11までテストデータとして1,2、・・・9,10をいれます。条件(Criteria)としてセルC1に「人数」 C2に「>5」といれます。 D1セルに「a9」といれます。何処でも良いが、D10に 関数式「=DSUM(A1:INDIRECT(D1),"人数",$C$1:$C$2)」 といれます。結果は21となりOKのようです。 上記のような簡単な例しかテストしていませんが、他のD××関数でも使えるか検証していません。 お分かりのように、D1にa8といれるとD10は13に変わります。
お礼
ありがとうございました。
お礼
ありがとうございます。 無事、目的を達成できました。