• 締切済み

エクセルのデータベース関数について

 DSUMなどのデータベース関数の条件(クライテリア)の指定において,複数の条件を指定できるのでしょうか?  例えば,布について,フィールドに色(黒,白,赤,黄,緑),値段,大きさ(大,中,小)があるデータベースの中から,色が黒と白,大きさが大のものの値段の和を求める場合,セルに   A B 1 色 大きさ 2 黒 大 3 白  というような,クライテリアの指定ができるのでしょうか?このとおり指定しても,上手く計算されてこないのですが?Aで色を黒と白と複数指定できないのでしょうか?

みんなの回答

  • comv
  • ベストアンサー率52% (322/612)
回答No.4

こんばんは! 既に解決済みですが >クライテリア内にAND/ORなんかが使えたら,もっと楽ですよね。 ここの考え方だけ!<余談ですから読み流して下さい^^;> 今回の場合  項目1 項目2   △  □   ○  □ これは、既にご承知のとおり (項目1=△ AND 項目2=□)OR(項目1=○ AND 項目2=□) となり 各行ごとのOR条件です 同様にANDの条件としては (今回の例では有得ませんが) 例えば  項目1が1以上 10以下 項目2が□ の場合  項目1 項目1 項目2  >=1  <=10  □ (項目1 >=1 AND 項目1 <=10 AND 項目2=□) のように記載します。 フィルターオプションなどで条件記載も同様です。 当然ですが、条件欄に数式で条件を与えることも可能です。 例   A              B 1 項目1             項目2 2 =">="&MAX(項目1列範囲)/2  =IF(A2>10,"□","○") 項目1条件 列A全体の数値の最大値の1/2以上 項目2条件 項目1条件が10より大きければ□それ以外なら○ を検索条件とする。 ----------------------- ワイルドカード 文字列の検索にはワイルドカードを駆使すると便利です 例 住所録などで  項目1  東京都*区* ・・・・東京都で区のつく住所(23区)  項目1  ??県* ・・・・県名が2文字の県  項目1  *県??*郡* ・・・・各県の内、郡のつく住所 (??*で2文字以上 の ○○*郡を条件として 郡山や小郡 を避けている。) などなど

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

DSUMとかは余り使わないので他の方法を紹介します。 表題がA1に『色』、B1に『大きさ』、C1に『値段』があって、2行目から11行目まで10個のデータがあるとします。  =SUM(IF(OR(A2:A11="黒",A2:A11="白"),IF(B2:B11="大",C2:C11,0),0)) として、Ctrl+Shift+Enter とすれば答えが出るはずです。配列数式を使っています。 算式中の"黒"、"白"、"大"をそれを入力したセルにすれば、いろいろなパターンが計算できます。 二重、三重の条件でも可能です。カウントなどもできます。DSUMより使いやすいかもしれません。 ご参考に。

spatlese
質問者

お礼

なるほど! そんな方法があるなんて知りませんでした。 ただ,検索条件がある一定のパターンになる場合は使えそうですね。ただ,個人的に,長い関数の式にはちょっと苦手なので,条件が多い場合はこんがらがりそうです・・・。

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.2

例で言うと、B3のセルに"大"と入れていないのが 原因だと思われます。 このままでは、(色:黒・大きさ:大)と(色:白・大きさ:条件無し)の値段の和が算出されているはずです。 クライテリアが空欄だと条件無しと判定されるようです。 参考までに、色が黒か白、大きさが大か小の値段の和の場合は、  A  B 1 色 大きさ 2 黒 大 3 黒 小 4 白 大 5 白 小  のように、全組み合わせを入力してやらないとダメなようです。 もっとも、上の例なら  A  B 1 色 大きさ 2 黒 <>中 3 白 <>中  という、少々卑怯くさいテも使えますが・・・。  どうもこのDSUM関数というのは、条件を増やすと非常に面倒くさそうです・・・。AND/OR等の論理式が使えればよいのですが。

spatlese
質問者

お礼

 ありがとうございます。 さっそく試してみます。最後の<>というのは「それ以外」ということなのですか?知りませんでした。役立ちそうです。  おっしゃるとおり,クライテリア内にAND/ORなんかが使えたら,もっと楽ですよね。あまり,条件を複雑にするには限界があるかもしれませんね。所詮,表計算ソフトですから。

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.1

回答  色=黒 かつ 大きさ=大 を求め  色=白 かつ 大きさ=大 を求め加算ではいけませんか  またB3に大を入力して下さい。 参考  エクセルのヘルプでデータベース関数      

spatlese
質問者

お礼

ありがとうございます。 項目が少ない時は,おっしゃるようなやり方でやっているのですが,項目が増えると,どうもめんどくさいので,何かてっと利早い方法がないものかと思ったものですから・・・。

関連するQ&A

  • エクセルのデータベース関数について

    エクセルのデータベース関数について質問します。 データベースの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数を数えたいと思います。が、その列が複数あり、また、条件も複数ある場合、DCOUNT関数を使うと、データベース関数に指定した条件が設定されているセル範囲をいくつも設定しなくてはならないのでしょうか? 以前、Lotusを使っていた時は、#and#という形で、条件をいくつも指定することが出来たのですが、そういったことは出来るのでしょうか? わかりにくい表現かもしれませんが、よろしくお願いします。

  • エクセルのデータベース関数の条件入力について

    いろいろと調べてみましたが、なかなか分からないので質問させていただきます。 たとえば以下のようなデータベースを作成したとします。   A   B 1 年数 2 数式 3  4 年数  金額 5 10 100 6 15 200 7 20 300 8 30 400 A4:B8をデータベースとします。 A2の数式は、他のセルを参照して、計算されるものとします。(たとえばE1+E2など) とした場合に、年数が、数式で得られた値よりも大きい場合の金額の合計を計算する場合に、 条件の入力方法が分かりません。 下記式の○○の部分です。 =DSUM(A4:B8,B4,○○) また、できれば、条件入力のセルを使わずに、直接DSUMの数式内に組み込んでしまう 事は出来ますか? =DSUM(A4:B8,B4,>A2) イメージとしては、左記のようにA2より大きいもの といった感じです。 その他に方法があれば、どんな方法でもかまいません。 教えて頂けると助かります。 よろしくお願いします。

  • エクセルでデータからの選択法

    例えばこんなデーターがあるとします サイズ 色 形 金額 大 白 丸 180 大 白 角 160 大 黒 丸 160 大 黒 角 140 小 白 丸 130 小 白 角 110 小 黒 丸 110 小 黒 角  90 金額を表示する為の入力として サイズ 色 形 金額 ※  ※ ※ XXX ※  ※ ※ XXX ※  ※ ※ XXX という風に続けて金額を表示させたいのです。 1行だけならDSUMで出来るのですが… どうかよろしくお願いします

  • データベース関数のCriteria(クライテリア)について

    いつもお世話になってます。 データベース関数のCriteria(クライテリア)で条件を数式で指定する場合なんですが。。 (1)なぜ検索範囲の先頭レコードでないとダメなのか? (2)数式がand・or関数しか使えないのか? ちょっと疑問に思ったので・・ 詳しい方お願いします!

  • エクセルにで、Criteria(条件表)でセル参照は使えますか?

    エクセル2002を使用しております。 DSUM関数を用いていろいろやってみてはいるのですが、できないので助けてください!! <目的> データベースの「日付」フィールドに入力された値が、A1~A2の日付であるレコードの「項目A」に入力された値(数値)を合計しようとしています。(A1とA2はデータベース外にある入力用のセルです) <私が選んだ方法←できません(泣)> DSUM関数を用い、引数Criteria(条件表)のセルに、(1)A1に入力された日付以上(2)A2に入力された日付以下となるように論理式を立てたいのです。『>=A1』としてみましたが、計算されません。 条件式の立て方をアドバイスください。 また、他に良い方法がございましたら、教えていただきたいです! よろしくお願いいたします。

  • エクセルの関数での処理方法

    下記のようなデーターベースがあります  列 A   B   C  D   E    F 行  4/1 4/10 4/20 1   青  100 青 1100 青 11000 2  黄色  200 黄色 1200 黄色 12000 3 緑  300 緑 1300 緑 13000 4  赤  400 赤 1400 赤 14000 5  紫  500 紫 1500 紫 15000 6  黒  600 黒 1600 黒 16000 7  白  700 白 1700 白 17000 8  茶  800 茶 1800 茶 18000 9  水色  900 水色 1900 水色 19000 10 朱色 1000 朱色 2000 朱色 20000 上の図では分かりにくいかも知れませんが、 A列には上から4/1、青、黄・・・ B列には上から空白、100、200・・・  C列には上から4/10、青、黄・・・ D列には上から空白、1000、2000・・・  E列には上から4/20、青、黄・・・ F列には上から空白、10000、20000・・・と並んでます。 4/1の項目は4/9までの値段 4/10の項目は4/19までの値段 4/20の項目は4/30までの値段になります。 4/5、4/10/、4/15、4/25の白の値段を調べるにはどのようにすればいいでしょうか? 4/5、4/10、4/15、4/25のそれぞれに VLOOKUP関数の式を入れて調べるんではなく ひとつの式を入れて調べる日付のセルの値だけが 変わるだけで 全部同じ式で反映されるようにしたいんですが・・・ できますか? VOOLUP関数やIF関数を組み合わせてやってるんですが うまくいきません。 それともマクロでないとできないですか? よろしくお願いします。

  • エクセルでこんなこと出来ますか?

    A1からB4までの8個のセルを使用しているとして、、、(A列はタイトル、B列は希望の項目を選択とします) B1で入力規則を使いA,B,Cと選べるようにすると、その下のB2,B3,B4での選択項目が変化するように。 例:A1項目、A2種類、A3大きさ、A4色とあったとした場合、B1でネコを選べば、B2ペルシャネコやチンチラ等が選べ、同時にB3では大、中、小、B4では白や黒が選べるのだが、B1で犬を選べば、B2ではハスキー、チワワワが選べ、同時にB3では特大、大、中、小、極小、B4では赤、黄色、緑が選べるといった具合に。 昔このようになったマクロ?を含んだ表を貰った事があるのですが、私にも出来ますか?詳しくないので分かりやすい説明だと助かります^^; よろしくお願いいたします。

  • EXCEL DSUM クライテリア 条件式

    EXCEL で DSUM の クライテリア を条件式で 表すにはどうしたら 出来るでしょうか? 普通    条件 3つ の 場合   A1:C4 を "" = < > * + 等を使つた 条件式で やりたいです

  • エクセルのDSUM関数の使い方は間違ってるのでしょうか?

    以下に対辺見難いですが表を貼り付けています。 一番上の行が列名です。 一番左の列が行名です。    A      B     C 1  品名    色    個数 2  いす    黒     5 3  机     茶     3 4  机     白      4 5  いす    赤     2 6  いす    茶     9 7 8  品名    色     個数 9  いす  合計個数  23 合計個数の右に表示しているのがDSUM関数で求めた値です。 しかし、結果がおかしいのです。 計算式は =DSUM(A1:C6,C1,A8:C10) これだと、通常はいすの個数を探して合計されるので16になるはずです。 しかし、関数で出た答は、全部の合計でした。 どこが、おかしいのかご指摘お願いします。

  • エクセルの関数について

    エクセルの関数について いつもご回答者の皆様方にはお世話になっております。 また一つ関数で実現したいことができたのですが、 添付画像のように同一シート内に形式が同じデータベースが複数あった場合に、 指定した条件のデータベースを参照し、値を返すような関数は可能でしょうか? B22セルで2010/1/1と指定した場合に、A2-B5のデータベースを参照し、さらにC22セルで指定してある「りんご」の個数を表示させるといった内容になります。 B22とC22の値を変えるだけで、それぞれのデータベースの指定した項目の個数を割り出したいのです。 識者の方々よろしくお願いいたします。m(_ _)m

専門家に質問してみよう