アプリ版:「スタンプのみでお礼する」機能のリリースについて

DCOUNT関数を使って顧客のデータから来店回数を抽出しようとしているのですが、エラーは出ないのですが、なぜかどの客も来店回数が0なのです。
顧客データがにはちゃんと来店日、売上などがかいていあるのですけど…
DCOUNT関数のdatabaseに顧客の全データ(顧客の来店などのデーターを含む)のシート全体を指定して、フィールドに「ID番号」(顧客の)の列を指定して、クリテリアには集計するID番号の顧客ID番号を入力しています。
数字は出てくるんですが、どの顧客も来店回数0です。
エクセル2000を使っています。
なぜ、うまく計算されないのかさっぱり分かりません。
よろしくお願いします。

A 回答 (4件)

#1および#2さんの回答どおり、DCOUNT関数は、数値をカウントする関数ですのでうまくいかないと思います。


補足の条件でデータを作って、DCOUNTA関数でやっていみましたらうまくいきました。
(DCOUNT関数ではうまくカウントしません)
ただし、空白でないセルの個数のカウントですので、数値も文字もカウントしますが。
もう一度、DCOUNTA関数でチャレンジしてみてください。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
DCOUNTA関数を使ってみたところ、うまくできたようです。
ありがとうございました。

お礼日時:2004/07/17 23:40

#3です。


補足ですが、条件がひとつであれば、COUNTIFというのもあります。
ID番号のID050が、簡易CRMのA2にあるとして、来店回数は、
=COUNTIF(日別顧客データ!$B$2:$B$2000,$A$2)
となります。
基本的に条件は一つですが、配列数式を使えば複数の条件でのカウントもできます。
(興味があれば、参考URLもご覧ください)
むしろ、この関数の方が使いやすいで、お勧めです。

参考URL:http://pc21.nikkeibp.co.jp/special/hr/
    • good
    • 0

●比較する列とCriteriaにおいて、数字か文字列の問題では?


(例データ)
A1:B7
番号氏名
1a
2b
3c
4g
5s
6f
(Criteria)
番号氏名
<6
(関数式)
=DCOUNT(A1:B7,A1,E1:E2)
A2:A7を数字で入れると「書式設定を文字列にしても(結果
見た目は左詰に表示される)5(<6で6を除くので5)と正しく出ました。だから書式の問題ではないのでは?。
しかし1を’1、2を’2のように値そのものを文字列化すると、今1,2を’付きに変えましたら、関数の答えは3になっています。
このケースではないでしょうか。
またA2:A7を’付きのもの(文字列)に全て変えて
=DCOUNTA(A1:B7,A1,E1:E2)
にして見ましたが0です(Criateriaを番号
<6または<"6"にしました。)勿論Dcountでも0。
(例データ)
番号氏名数値
1a1
2b1
3c1
6g1
5s1
6g1
と数字列Cを増やしました。
そして
Criteriaを
番号
6('6と入力)
関数式
=DCOUNT(A1:C7,C1,E1:E2)
で2になりました。
=DCOUNTA(A1:C7,A1,E1:E2)でも2です。
数値列Cを無視しても
=DCOUNTA(A1:B7,A1,E1:E2)は2です。
第2引数「フィールド」ってどう関係するのかと思っちゃう。
●そのほか、上例で「番号氏名」に当たる文字列と
Criteriaの「番号氏名」が微妙に違う場合があるので、コピー貼りつけで、処理されることをお勧めします。
●日付条件は入れてないでしょうね??。
エラーの原因質問には、ぜひ実例の1部を上げて欲しいですね。企業・個人の公開したくない部分があるなど判りますが、差し障りのない様に変えるなどのことは出来ませんか。

この回答への補足

お返事頂きまして有難うございます。
具体的に書いたほうが分かりやすいかもしれませんね。簡単に書きますと…

sheet1(簡易CRM)
ID番号 
ID050
来店回数
=DCOUNT(日別顧客データ!$A$1:$E$2000,日別顧客データ!$B$2,簡易CRM!$A$1:$A$2)

sheet2(日別顧客データ)
日付 | ID番号 | 顧客名 | 売上額 | 感想 |
10/3 |ID050 |****** |@@@@@@ |?????? |
10/3 |ID034 |****** |@@@@@@ |?????? |
 ・   ・     ・    ・     ・
 ・   ・     ・    ・     ・
 ・   ・     ・    ・     ・
上の様にDCOUNT関数を入れています、sheet2(日別顧客データ)の顧客IDのセルに「ID」と数字以外のものを入れているからなのでしょうか?クライテリアに指定しているセルも「ID***」と入れいているのです。
一応日別顧客データのID番号の列をセルの書式設定で数値にしてみましたが、うまくいきません。
たびたび申し訳ないのですが、助言などありましたらよろしくお願いします。

補足日時:2004/07/16 16:09
    • good
    • 0

ID番号の欄の書式が文字列になっているのではないでしょうか。


DCOUNT関数は条件を満たすレコードのうち、数値が入力されているセルの個数を算出する関数ですから、値が文字列の場合はカウントされません。ID番号が数字だけの場合は見た目だけではわかりにくい場合もありますので、セルの書式設定で確認してみて下さい。
もし文字列になっていた場合はそれを数値とするか(ID番号が数字だけの場合)、DCOUNT関数ではなくDCOUNTA関数を使われるとうまくいくと思います。

と、想像で書きましたが、外していたらごめんなさい。
もし違っていたら、実際に入力されている数式など、もう少し具体的なところを補足してもらうと分かるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A