エクセルのデータベース関数について質問します。
データベースの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数を数えたいと思います。が、その列が複数あり、また、条件も複数ある場合、DCOUNT関数を使うと、データベース関数に指定した条件が設定されているセル範囲をいくつも設定しなくてはならないのでしょうか?
以前、Lotusを使っていた時は、#and#という形で、条件をいくつも指定することが出来たのですが、そういったことは出来るのでしょうか?
わかりにくい表現かもしれませんが、よろしくお願いします。
No.5
- 回答日時:
追加です。
>以前、Lotusを使っていた時は・・・
Lotusもいいソフトでした。一時期、本当にお世話になりました。
ただ、Excelを使い始めて、Lotusを使う気にならないのが本音ですね。社内でも使用を止めていますし、全部移植してしまいました。
ただ、Excelはデータベースソフトではないので余り複雑な処理は保全面から考えて好ましくはないと思います。質問のような事例は、Access等なら間単にでます。
#3の事例は、
=SUM(IF(B2:B96="男",IF(C2:C96>=20,IF(C2:C96<30,IF(D2:D96>=2000,1,0),0),0),0))
と入力して、配列数式として登録すれば答えは出るはずです。当然、男に変えても、カウントの変わりに金額も集計できます。Excelも中々やりますね。
No.4ベストアンサー
- 回答日時:
やりたいことは
>例えば 列がA,B,C,Dとあり、おのおのに、1から5までの数が入っていたとします。そこで、列Aで1かつ列Cで3が入力されているセルの数を数え・・・
ということなので、A1からC5までデータが入っていれば、
=SUM(IF(A1:A5=1,IF(C1:C5=3,1,0),0))
と数式の窓に入力して、Ctrl+Shift+Enter で登録したらでませんか。
配列数式で、セルには {=SUM(IF(A1:A5=1,IF(C1:C5=3,1,0),0))} と登録されます。
A列が1でC列が3の場合は1、その他は0としてそれを集計しています。
ありがとうございます。
=SUM(IF(A1:A5=1,IF(C1:C5=3,1,0),0))
の数式で出来ました。
やはり、LotusとExcelは同じように見えて、違うものなんですねぇ。
ただ、配列数式の概念がいまいちつかみ切れていないので勉強したいと思います。
ありがとうございました。
No.3
- 回答日時:
私も何度か、これに挑戦してきましたが、
あきらめたので、どうしても条件が多岐に渡るデータベースを扱う際や、
マクロを使いたい場合は1-2-3
「見せる」、「他人とのデータの共有する」ためのデータベースはエクセルと、
完全に使い分けています。
どうしてもエクセルでこれをやりたいときは、
やむを得ず条件設定のためのシートを新たに作って、
面倒くせ~とボヤキながらセル参照しています。
ただ、セルを節約する工夫はできると思います。
例えば、条件が全部で4つで、そのうち3つが同じで1つだけ異なるときは、
このようにします。実際にこのようなサンプルを作ってやってみました。
サンプル:
B列は性別をヘッドとして、男または女
C列は年齢をヘッドとして、年齢の数値
D列は購入額をヘッドとして、商品を購入した金額
これを95件、ランダムに発生しました。
(購入金額は500~5000、年齢は15~75を動く)
共通事項1:20歳以上(ヘッドは年齢)
共通事項2:30歳未満(ヘッドは年齢)
共通事項3:2000円以上(ヘッドは購入額)
この共通事項で、さらに男女別(ヘッドは性別)に集計する場合
1段目:性別,年齢,年齢,購入額,性別
2段目:男,>19,<30,>1999,女
(上手く上下に表そうと思ったのですが、無理なのでカンマ区切りとしました)
このように5×2の条件シートを作ります。
(共通事項を真ん中に、双反する条件を両端におくのがポイント)
=Dcount(対象範囲,2,条件範囲)については、
対象範囲はガッチリ固定し、条件範囲は固定しません。
条件を満たす男性を出力したいセルだけ入力し、
それを右にコピーすれば自動的に条件を満たす女性の数が出ます。
LOTUSでは、逆にこういうときは条件を書き直さないといけないのですよね。
(私の場合は、検索と置換を使って対処しています)
セルは確かに節約できるけど、データベースが大きくなると、
ものすごく式が重くなるんですよね。
どっちもどっちなのかなあ。
書いているうちに自信がなくなりました(笑)
No.2
- 回答日時:
COUNTIF(範囲,AND(条件1,条件2))というのはどうでしょう?
ありがとうございます。
やってみたのですが値が0になってしまいます。
ちなみに
COUNTIF(範囲,AND(条件1,条件2)) の範囲というのは1つの範囲しか出来ないのですよね?
例えば 列がA,B,C,Dとあり、おのおのに、1から5までの数が入っていたとします。そこで、列Aで1かつ列Cで3が入力されているセルの数を数え、他の表に集計させたいと思っています。
なにか別の機能を使ったりするのでしょうか?
出来たら、関数でやりたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
数式が入ったセルを含めて、数...
-
SUMに含まれる範囲から特定のセ...
-
アルファベットを含む数をエク...
-
Excel上でのデータ数字が連番で...
-
【Excel】での計算式教え...
-
エクセルのsumifでかけ算してか...
-
エクセルで1列全部10倍したい
-
エクセルで小数を含む数値の抽出
-
スペースとスペースの間の文字...
-
エクセル バージョンによって...
-
エクセルで曜日に応じた文字を...
-
文字(数字)色別に計算するには?
-
時間を「昼間」と「夜間」に分...
-
EXCELのハイホン区切りの数字並...
-
エクセルでセルの値分の個数の...
-
エクセル:横長の表を改行して...
-
列の数字に100をかけたい
-
エクセルで住所の番地順に並べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
数式が入ったセルを含めて、数...
-
SUMに含まれる範囲から特定のセ...
-
Excel上でのデータ数字が連番で...
-
列の数字に100をかけたい
-
スペースとスペースの間の文字...
-
エクセル:横長の表を改行して...
-
エクセルで表示されている数字...
-
エクセルでセルの値分の個数の...
-
エクセルで1列全部10倍したい
-
別のセルに値が入力されたら、...
-
HYPERLINKとADDRESSとMATCHの組...
-
エクセルで、毎日の走行距離(...
-
Excelのセル内文字の並び替えに...
-
エクセル セル内の文字数を超え...
-
エクセルのsumifでかけ算してか...
-
エクセルで小数を含む数値の抽出
-
時間を「昼間」と「夜間」に分...
-
EXCELの特定セルを編集不可・コ...
おすすめ情報