• ベストアンサー

EXCELのDCOUNTA関数について

EXCELで500名程度の名簿管理をしています。 DCOUTA関数を使って、「○○区に住んでいる女性の人数」等の抽出を行っていますが、下記のような不具合があります。 ・同じファイルに名簿シートと抽出シートを分けていますが、抽出シートで計算された数字が名簿シートの実数と一致しません。 (名簿シートの実数は手計算しました。) ↓ ・名簿シートに抽出シートと同じ抽出表をコピーしたところ、実数と一致しました。 ただ、上記のようだと、名簿シートに抽出表も貼りつけることになり、大変見にくいので、シートを分けてもきちんと結果が出るようにしたいのですが、どうしたらよいでしょうか。 なお、範囲名は漢字で「登録者」としています。 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.4

[回答番号:No.2この回答への補足]へのコメント、 》 名簿シートすべてを範囲指定して… そう仰られても「該当する範囲」の内容が全く不明のままです。 「DCOUTA関数を使って、…の抽出を行っています」とのことですが、その式の内容を示してください。そうすれば該当範囲の内容が推測できるかも知れません。 「きちんと結果が出るようにしたい」のなら、きちんとした表や現行の式を示した方が得策です。そうしないと、回答者から式を提示されても貴方が理解できないと思います。

mikiff0000
質問者

補足

補足コメントありがとうございました。 もう一度、名簿シートの項目名や入力されている内容を見直し、抽出シートを作り直したところ、うまく抽出できるようになりました。 入力していた内容が、リスト化されておらず、複数人で入力していたため、入力ミスがあったことがわかりました。 大変お騒がせしました。ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! DCOUNTA関数ではないので参考にならなかったら無視してください。 ↓の画像でSheet2のC2セルに =IF(COUNTBLANK(A2:B2)>0,"",SUMPRODUCT((ISNUMBER(FIND(A2,Sheet1!A2:A500)))*(Sheet1!D2:D500=B2))) という数式を入れています。 これでSheet2のA2・B2セルに検索条件を入力すると その件数が表示されます。 以上、お役に立てば良いのですが、 的外れなら読み流してくださいね。m(__)m

mikiff0000
質問者

お礼

画像付きでの回答ありがとうございました。 ただ、教えていただいた関数については、私の能力不足で、どういった意味をもった関数でなぜ結果が出るのかが理解できません…。 せっかく例まで作って下さったのにすみません…。

noname#204879
noname#204879
回答No.2

》 範囲名は漢字で「登録者」としています 該当する範囲がどの部分かが判るようにしてください。

mikiff0000
質問者

補足

名簿シートすべてを範囲指定して範囲名を「登録者」としています。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

「○○区に住んでいる女性の人数」の条件ならば、複数条件となると思われるのでDCOUNTA関数の検索条件範囲は次の様に設定されているのでしょうか。 仮にE1:F2を検索条件範囲とします。 E1:名簿シートの住所列の見出し名 E2:*○○区* F1:名簿シートの性別列の見出し名 F2:女

mikiff0000
質問者

補足

はい、そのように設定しています。

関連するQ&A

  • エクセル2010の関数コピーについて

    エクセル2010でシート2~10にデータを入れ、シート1は取りまとめようとして一覧表を作り、シート2~10に入力したデータがコピーされるように関数を入れています。 シートを増やそうと思い、一覧表の行も増やし関数をコピーしようとしたのですが、通常2行目がシート2がコピーされるように関数が入っていたら、3行目にコピーすると自然とシート3がコピーされるように関数の数字も変わってくれますよね? それが変わらず、まったく同じ関数になってしまうのです。 他の人が作ったものから追加しようとしているので、何か設定しているのかも知れないのですが、まったくわかりません。 ちなみにコピーをするときは何もメッセージは出ません。どなたか教えてください。よろしくお願いします。

  • エクセルで複数の条件範囲に合う行を別シートに抽出

    エクセルの関数で複数の条件範囲に合う行だけをを別シートに抽出したいのですが、 どうしても方法が分かりません。 誰か教えて頂けないでしょうか? 検索は範囲です。 宿泊日○○○○○○○○~○○○○○○○○(例20111110~20240204) 人数 ○人~○人 (○の中に数字が入ります) 西暦日付と人数が両方一致している行を別シートに抽出したいです。 バージョンは2007.2010両方とも問題ないです。 Sheet1    A     BCDEFGHIJKLMN   O 1 宿泊日                 人数 2 20100223               20 3 20110103               5 4 20111118               9 5 20120505               13 6 20121010               7 8 20120224               32 9 20121121               28 Sheet2    A      B    C   D    E   FGHIGKLMN    O 1 検索 2 宿泊日 20110101 ~ 20121111 3 人数     8    ~   30     人 4 5 宿泊日                                  人数 6 20111118                                   9 7 20120505                                  13 Sheet1、A列の宿泊日とO列の人数の範囲が一致するものを、 Sheet2の検索から、行ごと抽出(複数)し、Sheet2に反映する関数を教えて頂けないですか? ちなみにSheet1は常に更新され、入力をする事が出来ませんので、 Sheet1に手を加えることのなく、Sheet2のみに関数を入れて処理出来る関数でお願いします。 いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。 よろしくお願いいたします。

  • エクセルで複数の条件範囲に合う行を別シートに抽出

    エクセルの関数で複数の条件範囲に合う行だけをを別シートに抽出したいのですが、 どうしても方法が分かりません。 誰か教えて頂けないでしょうか? 検索は範囲です。 宿泊日○○○○○○○○~○○○○○○○○(例20111110~20240204) 人数 ○人~○人 (○の中に数字が入ります) 西暦日付と人数が両方一致している行を別シートに抽出したいです。 バージョンは2007.2010両方とも問題ないです。 Sheet1    A     BCDEFGHIJKLMN   O 1 宿泊日                 人数 2 20100223               20 3 20110103               5 4 20111118               9 5 20120505               13 6 20121010               7 8 20120224               32 9 20121121               28 Sheet2    A      B    C   D    E   FGHIGKLMN    O 1 検索 2 宿泊日 20110101 ~ 20121111 3 人数     8    ~   30     人 4 5 宿泊日                                  人数 6 20111118                                   9 7 20120505                                  13 Sheet1、A列の宿泊日とO列の人数の範囲が一致するものを、 Sheet2の検索から、行ごと抽出(複数)し、Sheet2に反映する関数を教えて頂けないですか? いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。 よろしくお願いいたします。

  • エクセルの関数で抽出するには

    例えば、四字熟語を200件くらい登録して、その中から条件に一致した物だけを抽出したいと思います。 漢字の「一」だけを入力したら、登録してある200件くらいの範囲から四字の中のどの位置に「一」があったとしても、すべて抽出してくれるように関数を使って作成するにはどのような関数を使用し、どのように作成すればいいのでしょうか? 迷っています・・お願いします。

  • 複数シートの名簿から重複する氏名を探知する方法

    お世話になります。 エクセルの操作方法を教えてください。 ここにとある名簿があるとします。4種類あります。 とりあえず、4種類の名簿をひとつのファイルにまとめます。 (シートは別々とします) さて、この4種類の名簿シートの中で、 4種類すべてに名前が登場する人物がいたら、それを特定したいと思います。 どんな方法を使えばいいでしょうか? 質問を簡単にするために、以下を定義します。 4種類の名簿は全部構成が同じものとします。 また氏名の入力も同じフォーマットであるとします。 具体的にいえばA列に 漢字姓(全角スペース)漢字名 が入っているとしましょう。 漢字姓(全角スペース)漢字名が完全一致するものだけを「一致」とします。 漢字の入力間違いや、全角スペースの入れ忘れによる部分一致は「一致」とはみなさないもの、とします。 作業のためにシートをコピーしたり、作業のために一時作業シートに4つの名簿を全部コピーするのはかまわないとします。 関数だけで実行する方法を教えてください。 よろしくお願いします。

  • Excel INDIRECT関数の使い方が分からない

    表という名前のSheetがあります。  A 4 1 5 2  : のように、表SheetのA4から下に連番で、    1~400まで数字がふってあります。 式という名前のSheetが式~式(399)まで、400Sheetあります。 400Sheetある式というSheetには表があり、入力されて文字は違いますが、表の配置は全く同じです。 式  のD6セルには 1。Q9セルには「あいうえお」と入力、 式(1)のD6セルには 2 Q9セルには「かきくけこ」と入力されています。 式Sheetが400枚あるので、D6セルには、400まで数字が連番で入力されています。 表SheetのA4セルが、もし空という前提で、1と入力した場合、式~式(399)までのSheetの中から一致した数字が合った場合、そのSheetのQ9のセルの値を返しなさい‥と関数を入れたいと思い、 「INDIRECT」関数を使用しました。 =INDIRECT("式(" & A4 & ")'!D6"  しかし、何度入力しても、REFと出てしまいます。 この関数を使用するのは初めてで、戸惑っています。 どうかご教授ください。

  • エクセルの関数(IF関数?)について教えてください

    excelの関数についてわからず、困っています。 どのような関数を入れればよいのか、ご教授お願いいたします。   sheet1に下記のような表があり、 No 項目名 日付 1 りんご 11/1 2 バナナ  3 いちご  sheet2に No 項目名 日付 7 バナナ  8 りんご  9 パイン  という表があるとします。 sheet1に日付を入力した時に(りんごの右の11/1) sheet1の項目名と一致するsheet2の項目名の右のセルに同じ日付が入るようにさせたいです。 どのような関数を入れたらよいでしょうか。   よろしくお願いいたします。  

  • エクセルで複数の条件範囲に合う行全体を別シートへ

    エクセルの関数で複数の条件範囲に合う行全体だけを別シートに抽出したいのですが、 どうしても方法が分かりません。 誰か教えて頂けないでしょうか? 検索は範囲です。 宿泊日○○○○○○○○~○○○○○○○○(例20111110~20240204) 人数 ○人~○人 (○の中に数字が入ります) 西暦日付と人数が両方一致している行を別シートに抽出したいです。 バージョンは2007.2010両方とも問題ないです。 Sheet1    A     BCDEFGHIJKLMN   O 1 宿泊日                 人数 2 20100223               20 3 20110103               5 4 20111118               9 5 20120505               13 6 20121010               7 8 20120224               32 9 20121121               28 Sheet2    A       B    C    D    E   FGHIGKLMN    O 1  検索 2 宿泊日 3        20110101 ~ 20121111 4 人数 5          8    ~   30     人 6 7  結果 8  宿泊日                                  人数 6  20111118                                   9 7  20120505                                  13 Sheet1、A列の宿泊日とO列の人数の範囲が一致するものを、 Sheet2の検索から、行全体ごと抽出(複数)し、Sheet2に反映する関数を教えて頂けないですか? (BCEFGHIJKLMNにもデータは入っていますので行全体が必要です) ちなみにSheet1は常に更新され、入力をする事が出来ませんので、 Sheet1に手を加えることが出来ません。 Sheet2のみでの関数処理できないでモノなのでしょうか? いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。 よろしくお願いいたします。

  • Excelのユーザー定義関数

    シート名の一部とセルの値が一致したらLOOKUP関数をかえす関数を作成したいのですが… 例として。。。 シート名:20020301売上表、セルA1:2002/3/1の値があります。 シート名の"01"とA2の日付"1日"が一致したら、セルA2にLookup関数をかえす関数を作成したいのですが。。。 よろしくお願いします

  • エクセル関数について

    エクセルでデータベースを作っています。別のシートからデータを抽出して合計を出すというものなのですが、どうも関数がうまくいきません。 別のシートには日付・現場名・費目・時間・金額などが入力されています。(オートフィルタが使われていました)そしてデータベースには現場名と費目から金額の合計を抽出したいのですが、どんな関数を使っていいのか分かりません。 =SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) =SUMPRODUCT((入力!$C$3:$C$9810=Sheet1!$B3)*(入力!$G$3:$G$9810=Sheet1!C$1)*(入力!$K$3:$K$9810)) というものを使っていたのですが、別シートのデータが入力されていない所まで範囲を指定するとエラーになってしまいます。 =sumifだとエラーにならないのですが、私の技術では1つの条件(現場名だけ)しか抽出、合計できません。 入力されていない所を範囲指定してもエラーにならなくて上の事が出来る関数はないでしょうか、よろしくおねがいします。

専門家に質問してみよう