EXCEL2007オートフィルタでモレ発生?

このQ&Aのポイント
  • EXCEL2007のオートフィルタを使用していて、1つの列に対して背反になる条件AとBをかけたところ、合計値が一致しない現象が発生しました。
  • 3万件程度のデータに対してNULLという値を選択するようにしたところ2,000件が該当し、NULL以外のデータ(数値)を選択するようにしたところ1万件が該当しました。
  • 3万件のデータの間には空白データは存在しません。このような現象が起こる際に確認する点などがあれば教えてください。
回答を見る
  • ベストアンサー

EXCEL2007のオートフィルタでモレが発生?

EXCEL2007のオートフィルタを使用していて、 1つの列に対して背反になる条件AとBをかけたところ、 各条件における該当件数を合計した(A件数+B件数)ところ、元の件数と一致しませんでした。 もし、データ型やバグなどで気をつける点をご存じでしたら教えてください。 <詳細> 3万件程度のデータ("NULL"という文字列と数値データが存在)に対して NULLという値を選択するようにしたところ2,000件が該当しました。 次に、NULL以外のデータ(数値)を選択するようにしたところ、1万件が該当しました。 1つの列に対して、背反になる条件をかけたつもりなのですが、合計値が一致していません。 3万件のデータの間に空白データはありませんでした。 このような現象が起こる際に、確認する点などご存知でしたらご教授いただきたく存じます。 <使用環境> OS:WindowsXP 32bit EXCEL2007 スタンドアローン環境のため、2010年9月末までのOS・Officeのアップデートを行ってあります。 よろしくお願いいたします。

  • bauda
  • お礼率55% (25/45)

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

実際にどんなデータが含まれているのかは,基本的にはオートフィルタのプルダウンをよく観察してみることで確認できます。ただし1万種類を超えるサンプルは表示されないので,3万件のデータが対象では見落とす可能性はあります。 とりあえず >NULL以外のデータ(数値)を選択するようにした この操作にミスがあったと考えるのが妥当に思われます。 仮にA列にデータがあるとして。 実際にあるモノの数を別の方法で数えて確認してみましょう。 =COUNTIF(A:A,"NULL") で,NULLという文字が入っているセルの数が数えられます。 =COUNT(A:A) で「数値」が記入されているセルの数が数えられます。 それぞれ実際に計算し,オートフィルタの結果と付き合わせて検証してみましょう。 併せて =COUNTA(A:A) も計算してみましょう。これで「数値」と「何か文字など」が記入されたセルの個数が数えられます。 これが想定数の3万より足りなければ実際には空白セル(空っぽのセル)が紛れている事が疑われますし,NULLのCOUNTIFとCOUNTの計算結果を合算した数がCOUNTAの結果より少なければ,NULLではなく数値でもないセルが紛れていることが判ります。

bauda
質問者

お礼

>オートフィルタのプルダウンをよく観察してみることで確認できます。ただし1万種類を超えるサンプルは表示されないので,3万件のデータが対象では見落とす可能性はあります。 プルダウンでNULLのチェックボックスをはずす方法で 項目の抽出を行っていたことが原因でした。件数が多いときは、 テキスト選択を行わないといけないのですね。 また関数を使った確認方法まで教えていただきましてありがとうございます。 このような操作が続くので、活用させていただきます。 おかげさまで正確な数値が出せました。ありがとうございます。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>3万件程度のデータ("NULL"という文字列と数値データが存在)に対して NULLという値を選択するようにしたところ2,000件が該当しました。 次に、NULL以外のデータ(数値)を選択するようにしたところ、1万件が該当しました。 実際に行った操作は、「テキストフィルタ」から「NULL」「と等しい」と「NULL」「と等しくない」の条件で抽出したのでしょうか? >1つの列に対して、背反になる条件をかけたつもりなのですが、合計値が一致していません。 基本的に上記の操作をしたなら合計のデータ数は総データ数に一致するはずです。 >3万件のデータの間に空白データはありませんでした。 見かけ上空白セルがなくても非表示の行があるとフィルタ対象から除外されますので、ご質問のような状況になる可能性はあります。 Ctrl+Aですべてのセルを選択して、行番号の上で右クリックして「再表示」して、Ctrl+↓キーで空白行がないことを確認してみてください。 上記の回答で解決しなかった場合は、実際に行った操作が例示したデータの操作でないことや、セルに入力されている数字などが手入力したものでない場合など、他の原因も考えられますので、その場合はできる限り実際のデータやリストを正確に反映した情報を提供してください。

関連するQ&A

  • Excel2007のオートフィルタ機能について

    対象ソフト:Excel2007 オートフィルタで絞ったデータを「数値と値のクリア」でクリアすると、絞ったデータのみがクリアされるはずが、絞ってしないデータまでクリアされてしまうことがあります。 見つけたのは以下のパターンです。  A B C D E F 1  ● 2  ×  3 ● 【現象が出るケース】 1.先頭行にオートフィルタを設定 2.オートフィルタでB列の●を選択 3.●のセルを選択し、「数値と値のクリア」を実行 ⇒B1~B3までのデータがすべて消えてしまいます。 【現象が出ないケース】 1.先頭行にオートフィルタを設定 2.オートフィルタでB列の×を選択、個数を確認します 3.オートフィルタでB列の●を選択 4.●のセルを選択し、「数値と値のクリア」を実行 ⇒B2の×は残っています。 この現象は故意的なのでしょうか? それともバグなのでしょうか? どちらにしても、パターンを覚えておかないとデータを操作する際に、正確なリストを作成できずに困っております。 解決法や良い対処策があれば教えてください。

  • オートフィルタを使った表で30行ごとに小計を出したい。Excel2002

    部署毎の経費一覧表みたいなのを作成しています。1ヶ月で経費が0円の部署もあるので、オートフィルタで0円の部署を除いた、部署のみプリントします。   B列 ・・・・ AJ列  AK列    AN列  通し番号・・・・ 合計 入力番号   小計   1            1   2            2   30           30     X円   31           1   32           2             60           30     X円   61           1           62  ・・・・・・・・・ ・・ 2 ・B列の番号はオートフィルタで歯抜けにならないようにSUBTOTAL関数を使って連番になるようにしています。 ・AK列の入力番号は入力が30件ごとなので、B列の番号に応じてVLOOKUPで1~30が繰り返し表示されるています。 そこで入力番号が30の時に、合計のAJ列の直近の1~30までの小計をAN列に表示したいです。どんな関数を使えばよいのでしょうか? また端数処理についても悩んでいます。データ件数が毎月バラバラで最終ページでは30件以内の端数がでます。でその端数の部分も端数の小計を表示させられれば、尚良いのですが。  何卒よろしくお願いします。

  • Excel2007 オートフィルター上手くいかない

    ご存知の方ご教授下さい。 A列~J列まで、300行程のリストがあります。 A列には、「い型」「ろ型」「は型」などの型番があり、それをフィルターをかけたいとします。 通常、A列をオートフィルターで「い型」と選択すると 「い型」だけが抽出され、B列~J列は「い型」に付随するデータだけが見えると思います。 しかし、手持ちのデータで同様の事を行うと、何らかのフィルターがかかるものの なぜか「い型」以外の「ろ型」「は型」も抽出されます。 上段は「い型」が続くのですが、半分ぐらいから「い型」「ろ型」「は型」が混在します。 このデータは、A列に空白は存在しませんが B~J列には、空白が存在します。 それが影響しているのでしょうか? 下手な説明で恐縮ですが、解決法がありましたらご教授下さい。 宜しくお願いいたします。

  • エクセルのオートフィルタで合計を出したい

    エクセルでA列に会社名、B列に支払い金額が、100行にわたって入力されているとします。 オートフィルタをかけて、ある会社(△△商事)だけ選択したら10件だったとします。この△△商事の支払い金額の合計はどのように出すのでしょうか? 金額が10件ピックアップされて、次のセルでSUMで合計しても100件分の合計になってしまいます。 この△△商事の10件だけの合計金額の出し方を教えてください。

  • エクセル オートフィルタで件数と割合

    A列に都道府県、B列に市区町村、C列に性別、D列に年齢・・・ でI列までデータが入っている表があります。 オートフィルタを使って、例えば A列で東京都を選び、B列で新宿区を選んだ場合、 東京都の件数に対する新宿区の件数割合が、同じシートのどこかのセルに表示できないでしょうか? データは2000件ほど。SUBTOTAL関数で、全体の件数に対する割合は出せたのですが、任意に選んだ項目に対する割合を出す方法が見つかりません。 データもI列までありますので、最初にオートフィルタで選ぶ列がA列とも限らず、また3列・4列選ぶ事もあります。 EXCEL2000です。簡単な関数なら使った事があります。どうかよろしくお願いします。

  • EXCEL:オートフィルタで

    いつもお世話になってます。 月末の集計と売上計画表を作るのにどうしてもやりたい事があるのですが、どうやったらいいものか困っています。 いい方法がありましたら教えて下さい。 Sheet元データとSheet伊藤~Sheet山田(印刷用でもともと形作られています)があり、 Sheet元データには 列A~Z 行2~300 程度のデータが入っています。 これにオートフィルタをかけて、抽出されたデータをコピー→任意のシート・セルに貼り付けたいと思います。 抽出/コピーしたい列は、 A(カテゴリー):1 2 C(担当者):伊藤 佐藤 鈴木 田中 山田 E(商品名):文字列 G(単価1):数値 H(単価2):数値 I(合計金額):数値 K(売上月):日付 で、まず、 (担当者)伊藤/(売上月)今月/(カテゴリー)1/(単価1)空白以外のセル でフィルターをかけて抽出されたデータを、 Sheet伊藤の指定したセル(商品名をC5~C20、単価1をD5~D20、合計金額をE5~E20)に貼り付け、 (担当者)伊藤/(売上月)翌月/(カテゴリー)1/(単価1)空白以外のセル Sheet伊藤の指定したセル(商品名をG5~G20、単価1をH5~H20、合計金額をI5~I20)に貼り付け、 (担当者)伊藤/(売上月)次四半期/(カテゴリー)1/(単価1)空白以外のセル Sheet伊藤の指定したセル(商品名をK5~K20、単価1をL5~L20、合計金額をM5~M20)に貼り付け、 ・・・といった具合に、抽出&コピー貼り付けをSheet伊藤~山田まで繰り返します。 (売上月)の項目は、 例えば「今月」が「4月」だった場合、「翌月」は「5月」「6月」、「次四半期」は「7月」「8月」「9月」の データを抽出したいのですが、こちらも一発で抽出するにはどうしたらいいでしょうか。 かなりわかりにくい説明だとは思いますが、 よろしくお願いします。

  • 複数列の集計(Excel)

    下記のような物をExcel2000で作りたいのですが可能でしょうか? まず、データとして下のようなリストがあります。 A(列)     B(列)     C(列)     D(列) 日付1     数値1   日付2    数値2 2004/6/1   100    2004/7/2   500 2004/1/3   300    2004/1/3   400 2004/3/15   540    2004/5/4   980 2004/1/1   800    2004/8/6   230 2004/1/3   200    2004/2/8   450    ・      ・       ・      ・    ・      ・       ・      ・    ・      ・       ・      ・ 列数は決まってますが、行数は増えていきます。 そして別のシートに下のようなリストが別にあり、 A(列)       B(列)       C(列)      D(列) 2004/1/1    2004/1/2    2004/1/3    2004/1/4・・・(31日まで続きます) ここにある日付と先ほどのリストの日付1と日付2を照合して、 日付1で一致したら数値1の数値を 日付2で一致したら数値2の数値を 持ってきて、なおかつそれを合計した数値を表示したいのです。 上のデータを使って表現すると下のようになって欲しいのです。 A(列)       B(列)       C(列)      D(列) 2004/1/1    2004/1/2    2004/1/3    2004/1/4・・・(31日まで続きます) 800                  900 つまりはその日毎の数値の合計値が欲しいのですが、 検索値となる日付が2列(複数列)に分かれてしまっていて うまくいきません。 自分の仕事を丸投げするようで大変申し訳ないのですが どなたかお教えいただけませんでしょうか?

  • エクセルのオートフィルタについて マクロ

    宜しくお願いします。 シート「B5」から「AV504」にデータが入っています。(A列にはA5からNo.を入力しています) マクロで「I」列の条件が「成約済」または「ボツ」であれば、B5からAV504の該当行データを クリアし、(すべての行ではなく、B~AV列までクリア(×削除))さらに、クリア後のB列から AV列の空白行を上に詰めてなくしたい(最下行までの空白をなくしたい)のですが、可能で しょうか。 宜しくお願いいたします。

  • EXCEL2010 フィルタでうまく表示されない

    EXCEL2010でフィルター機能を使用しているのですが 絞り込みをかけても条件に該当しないデータが表示されます。 表示されたファイルをよく見てみるとフィルターの範囲に含まれていないようでした。 再度その部分も指定してフィルタをかけたのですがなぜか範囲に含まれません。 ※一番下の行 フィルタには件数の制限などがあるのでしょうか? ※データ件数が多いので気になりました。

  • Excel2010 複数条件の計算方法

    複数の条件に該当する項目の合計を計算したいのですが、関数の作り方が分かりません・・・ 例えば、A列に文字があってB列に数値が入力されている表があったとして、A列にある項目の中から2つ以上に該当する数値の合計を計算する場合、どのような関数にすれば良いのでしょうか? 例えば、A列に果物の名前(りんご、みかん、ぶどう、メロン・・・)があり、B列にその値段が入っていて、「りんご」と「みかん」と「メロン」の値段の合計を算出するような場合、どのような関数になりますか? 条件がひとつであれば、SUMIF関数を使って計算できるかと思いますが、2つ以上の場合、どのようにすれば良いか分からないのです。 Officeのバージョンは2010です。 ネットで検索してもイマイチ分かりませんでした。どなたか簡単に教えて頂けますでしょうか?

専門家に質問してみよう