• ベストアンサー

トップテンオートフィルタがうまく機能しないリスト

ずばり、下記のようなデータが入っていると トップテンを仮に金額の上位3位までとしても、 まったく反応がないのです。(当たり前の状況だと思いますが、、) 氏名 金額 佐藤 10000 加藤 50000 鈴木 10000 水沢 10000 *同一のデータが入っている時に実行すると、3位ということで  考えると、加藤さんの50000と、残り 2人分のデータが対象のはずですが  まったくリストが反応しないのでした。なんとなく、わかるのですが、  ずばり、記述していただくとどのような解説がつくのでしょうか?  近くの上司にまた、痛いところをつかれて、、、  お願いします。。トップテンオートフィルタの使い方を  改めて教えてくださいませ。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

#1のmshr1962です。 1位50000 2位10000 3位10000 4位10000 5位500 3位だと10000ですよね。500は5位(3位以下)だから非表示です。 4位の10000は3位と同金額だから表示です。

yagi29
質問者

お礼

非常にシンプルでかつわかりやすい内容で ありがとうございます! 感謝・感謝です。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 ご自身の中でよくまとまっていないような気がします。 >*同一のデータが入っている時に実行すると、3位ということで > 考えると、加藤さんの50000と、残り 2人分のデータが対象のはずですが > まったくリストが反応しないのでした。 このご質問は、どうやって、2人に絞るのか、それは、行順なのか、あいうえお順なのか、何かの根拠なくしては出来ません。出てきた同額の数字に序列はありません。 #1 のお礼 >今度は、上位3位だから、 >50000と10000と500が入ったセル(結局全部だけど)出てもいいはず。 >すると、最後のデータ500だけ非常になった。 #1 のお礼のところの内容 に対しての対処法は、補助列を設けて、 C2: =SUMPRODUCT(($B$2:$B$6>B2)*(MATCH($B$2:$B$6,$B$2:$B$6,0)=ROW($B$2:$B$6)-1))+1 $B$2:$B$6 は、データ範囲 データを書き加えてみました。  A  B    C 氏名 金額  順位 佐藤 10000 加藤 50000 鈴木 10000 水沢 10000 田中 500 C列には、以下のような順位ができました。 2 1 2 2 3 それで、その順位の列で、トップテンではなくて、 3以下なら、3位以下すべて、2以下なら、2位まで出せます。

yagi29
質問者

お礼

こと細かくありがとうございます。 私自身は、順位を取り出す機能と思っていないので御安心ください。 上司の言葉をそのまま書いて、いかに上司に説明したらいいのか 自分の説明では、理解不十分だったたようでしたので、 今回の多数の投稿をすべて参考して 具体的に例を挙げながら、説明していきたいと思います。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

トップテンの機能は第?位までではなく、 人数に関係なく第?位のデータを持つすべてのレコードが対象です。 A 5 B 5 C 3 D 3 E 1 F 1 の場合で上位3位(3が3番目なので)は3以上の金額のA,B,C,Dです。 上記の場合で水沢さんをはじきたい場合は隣の列にでも =金額+ROW()/1000 ※ROW()は行の位置を示す関数 としてこの列でトップ3を抽出してください。

yagi29
質問者

お礼

早速、投稿ありがとうございます。 順位にこだわっていないようですが、ただ。 上のデータには、50000と10000しかないのですが、 ここに、あらたに500というデータを入力したレコードを追加して 上位3位までと設定しても、やはり、50000と10000のレコードしか 抽出されないのだ。 いちお、リストの中で判断すると、今度は、上位3位だから、 50000と10000と500が入ったセル(結局全部だけど)出てもいいはず。 すると、最後のデータ500だけ非常になった。 このままを素直にみると、上位2位までのデータしか抽出していない ようにみえるが、、いかがなものか??

関連するQ&A

  • エクセルの関数式です

    エクセルの条件式についてです (IF文) 例えば A列      B列   C列  2008/2/1 500   加藤 2008/3/10 200   鈴木 2008/3/25 100   加藤 2008/4/13 800   佐藤 こんな感じで元データがあるとして、 加藤           鈴木           佐藤 ~2月末 ~3月末 ~4月末 ~2月末 ~3月末 ~4月末 ~3月末 ~4月末 500 200 100                              800 こんな感じで別表を作成したいのですが、 IF(C1="加藤",IF(A1<2008/3/1,B1,""),"") 上記の感じで式を入力しても反映してこないんですが、なんででしょう? ちなみに、元データの 日付、金額、氏名 は別表からの関数式で飛ばしています。 教えてくださーい!   いろんなパターンのIF文でやってみたんですが・・・ 作成したい表の方が、ずれてしまいますので、おかしいですが・・・

  • エクセルで別シートを参照していて、参照元のデータを変更した場合

    エクセルで別シートを参照したいのですがうまくいきません。 (1)Sheet1には顧客データが入っています。 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 佐藤 大阪 女 4 鈴木 福岡 女 (2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15  2 小川 東京  1    5 3 佐藤 大阪  1    5 4 鈴木 福岡  1    5 (3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました) 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 加藤 沖縄 男 4 佐藤 大阪 女 5 鈴木 福岡 女 (4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15   2 小川 東京  1    5 3 加藤 沖縄   4 佐藤 大阪  1    5 5 鈴木 福岡  1    5 (5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?

  • エクセルマクロ 表のタイトルを削除するには?

      A    B       C       D 1  氏名   スコア     氏名    スコア 2  山田さん  100    三谷さん   95 3 加藤さん   50     後藤さん  100   4 佐々木さん  25     鈴木さん   49  このようなデータがあり、これを   A    B       C       D 1  氏名   スコア     氏名    スコア 2  山田さん  100    三谷さん   95 3 加藤さん   50     後藤さん  100   4 佐々木さん  25     鈴木さん   49                    山田さん  100                        加藤さん   50                         佐々木さん  25 のように、隣の表のしたに付け足したいです。その時、「氏名、スコア」のタイトルの行を削除したいです。 どのような手順が一番シンプルなマクロとして記述できるでしょうか。 なお、下に付け足した元の表はそのまま残しておきたいです。 よろしくお願いいたします。  

  • ACCESSで当該レコードの特定カラムと、次レコード特定カラムの比較方法

    ACCESSで当該レコードの特定カラムと、次レコードの特定カラムの内容を比較して、フラグ(厳密には数値)を立てるにはどうしたらいいのでしょうか? 下記の「DATA」を例に説明すると、 当該レコードと、次レコードの「名前」が同一の場合、 購買日付の昇順に番号を1から順番に付けたい。 ※但し「名前」が一緒で「購買日付」が等しい場合は、 同じ番号を付けた。 モジュールを作成することになっていいので、 番号を付けるやりかたが分かりましたら教えて下さい。 -DATA----------------------- 名前 購買日付 商品 佐藤 2008/02/01 菓子A 佐藤 2008/02/03 菓子B 佐藤 2008/02/04 菓子C 佐藤 2008/02/10 菓子D 金子 2008/02/01 菓子X 鈴木 2008/02/01 菓子B 鈴木 2008/02/03 菓子C 鈴木 2008/02/03 菓子D 鈴木 2008/02/05 菓子D 加藤 2008/02/01 菓子D 加藤 2008/02/01 菓子E 加藤 2008/02/02 菓子D ---------------------------- (↓やりたいこと) -番号を付けたい------------- 名前 購買日付 商品 佐藤 2008/02/01 菓子A 1 佐藤 2008/02/03 菓子B 2 佐藤 2008/02/04 菓子C 3 佐藤 2008/02/10 菓子D 4 金子 2008/02/01 菓子X 1 鈴木 2008/02/01 菓子B 1 鈴木 2008/02/03 菓子C 2 鈴木 2008/02/03 菓子D 2 鈴木 2008/02/05 菓子D 3 加藤 2008/02/01 菓子D 1 加藤 2008/02/01 菓子E 1 加藤 2008/02/02 菓子D 2 ----------------------------

  • エクセルで質問です。

    エクセルで質問です。 sheet1に     A     B      C     D 1  No.   グループ    氏名   住所 2 3  1     C      佐藤    東京 4  2     B      鈴木    埼玉 5  3     A      加藤    千葉 6  4     B      本多    東京 このようなデータがたくさんあります。(左の数字は行番号、上のアルファベットは列番号) これを別シートにグループ順に   A     B      C     D 1  No.   グループ    氏名   住所 2 3  1     A      加藤    千葉 4  2     B      鈴木    埼玉 5  3     B      本多    東京 6  4     C      佐藤    東京 と表示させる方法はありますか。 エクセルに詳しくないのですが どなたか助けていただければと思います。

  • 範囲を検索し指定の数だけあれば、それを書き出すには

    いつも皆さんに大変お世話になっております。またひとつ教えていただきたいことがございます。 組、番号、氏名、数学の点数、英語の点数が表の見出しで、50名ほどのデータが入っている表があります。この表は200名ほどのデータの中で、2つの教科ともに100点を取った者だけが抽出されている表です。 数回実施したテストごとに両教科100点の者だけを抽出し、前のテストの同じ表に付け足しをしているのを「並べ替え」によって、次のようになっています。 組 番号 氏名    数学 英語 1  2  佐藤正一 100 100 1  2  佐藤正一 100 100 1  2  佐藤正一 100 100 1 35  山口篤  100 100 2  9  加藤稔  100 100 2  9  加藤稔  100 100  6 11  原田聡  100 100 6 11  原田聡  100 100 6 11  原田聡  100 100 やりたいことは、この表から3回名前がある者だけを上から順に拾っていき、別の場所に書き出し、3回とも100点だった者のリストを作りたいということなのです。 出来上がりはこういう感じです。↓ 組 番号 氏名    数学 英語 1  2  佐藤正一 100 100 6 11  原田聡  100 100 今のところ、countifをマクロで使う方法などを調べてやってみたのですが自分の理解が不足でうまくいきませんでした。 一番シンプルなマクロの記述で実現できる方法を教えていただきたく存じます。 よろしくお願いします。

  • エクセルで質問です

    エクセルで質問です。 sheet1に     A     B      C     D 1  No.   グループ    氏名   住所 2 3  1     C      佐藤    東京 4  2     B      鈴木    埼玉 5  3     A      加藤    千葉 6  4     B      本多    東京 このようなデータがたくさんあります。(左の数字は行番号、上のアルファベットは列番号) これを別シートにグループ順に   A     B      C     D 1  No.   グループ    氏名   住所 2 3  1     A      加藤    千葉 4  2     B      鈴木    埼玉 5  3     B      本多    東京 6  4     C      佐藤    東京 と表示させる方法はありますか。 sheet1には都度入力されるので、並べ替えなどではなく vlooupとか関数の活用で何とかならないものでしょうか。 エクセルに詳しくないのですが どなたか助けていただければと思います。

  • リストボックス内の表示

    エクセル2000VBAです。 ユーザーフォームのリストボックスに複数列(No,日付,氏名,金額,摘要)のデータを表示させています。 リストボックス内で、日付が“1/2/2004”と表示され, 金額には千円単位の“,”表示されません。 この日付を“2004/2/1”と表示させ、金額に“,”を表示させる方法はないでしょうか?

  • Excelで次のような事はできますでしょうか

    こんばんわ。いつも大変お世話になります。 初歩的なことかも分かりませんが次のような事はできますでしょうか。 sheet1に以下のようなデータがはいっております。 このうち、「氏名」の欄の値から抽出(重複する氏名があってもsheet2には1つのみ表示)してsheet2に以下のように表示させたいのですが可能でしょうか。 説明不足なところがあるかもしれませんが、よろしくお願いします。 (sheet1) ┌────┬───┐ │ 氏名   │出席日│ ├────┼───┤ │ 山田○男│    5│ ├────┼───┤ │ 佐藤△子│    0│ ├────┼───┤ │ 山田○男│   2│ ├────┼───┤ │ 鈴木○夫│   3│ ├────┼───┤ │ 佐藤△子│   2│ └────┴───┘ (sheet2) ┌────┐ │ 氏名 ├────┤ │ 山田○男 ├────┤ │ 佐藤△子 ├────┤ │ 鈴木○夫 └────┘

  • エクセルで2つのリストを統合するには?

    エクセルの別々のシートにある2つのリストを統合したいのですが、過去の質問などを見てもうまくいきません。具体的には 【表1】 番号 氏名 住所 A 佐藤 東京 B 高橋 神奈川 C 渡辺 埼玉 D 田中 千葉 E 小林 山梨 【表2】 番号 氏名 年齢 B 高橋 22 D 田中 45 という2つの表で、これを 番号 氏名 住所 年齢 A 佐藤 東京 B 高橋 神奈川 22 C 渡辺 埼玉 D 田中 千葉 45 E 小林 山梨 のようにまとめたいのです。 「データの統合」を使ってみましたがうまくいきませんでした。よろしくお願いします。

専門家に質問してみよう