エクセルで回数順に並べる方法は?

このQ&Aのポイント
  • エクセルを使用して、日時ごとに書籍を貸し出した順に並べる方法を教えてください。
  • シート1に作成したデータを、シート2で月ごとに貸し出した本の順位付けを行いたいですが、うまくいきません。どのような関数を使えば良いでしょうか?
  • エクセルで順位付けを行う方法や、より効率的なデータ管理の方法について教えてください。
回答を見る
  • ベストアンサー

エクセルの関数式について

エクセルを使って回数順に並べたいものがあるのですが、上手くいかないのでわかる方教えてください。 ちょっとわかりにくいと思うのですが、      A      B     C  D →(日時)   1  7/1    7/2     …   2 書籍名  書籍名   3 書籍名  書籍名   ↓   (貸し出した本) という感じのデータをシート1に作成していて、 シート2に月ごとに貸し出した本の順位付けを行いたいのですが、 色々な関数を試してみても上手くいきません。 先程、同じような内容で投稿を行った際に 項目を記載して行う方法を教えてもらったのですが、 項目が多すぎて把握しきれません。 (図では2冊しか記載していませんが実際は毎日10冊以上あります) どうにかして順位付けを行う方法はあるのでしょうか? それとも、こういったことはエクセルで作ることは出来ないのでしょうか? やり方が分かる方教えていただけないでしょうか?

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

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>こういったことはエクセルで作ることは出来ないのでしょうか 出来ますよ ただ、書籍名の「一覧表」は作成しなければなりません それが出来れば、COUNTIF と RANK 関数で出来ます 「シート2」に書籍名を1列にコピーするマクロ(VBA) ------------------- Sub syo()   Dim sdata(100)   sc1 = 1   sl2 = 2   Do     Sheets("シート1").Select     sl1 = 2     If Cells(sl1, sc1) <> "" Then       Do Until Cells(sl1, sc1) = ""         sdata(sl1) = Cells(sl1, sc1)         sl1 = sl1 + 1       Loop       Sheets("シート2").Select       For i = 2 To sl1         Cells(sl2, 1) = sdata(i)         sl2 = sl2 + 1       Next       sc1 = sc1 + 1     Else       Exit Do     End If   Loop End Sub ------------------- (実行上の注意)  シートの下のタブに表示されているシート名が、  上記の"シート1"、"シート2"と同じにする  月末の右の列は空白であること これを、「標準モジュール」で実行すると 書式名がシート2のA列に1列にコピーされます 次にA2から下までを選択し、「並べ替え」を実行 B2以下に次の式を入れます B2 =IF(A2=A3,"",A2)  以下コピー B1に「書籍名」とでも入れて、オートフィルターを設定します そして、「空白以外のセル」をクリックすると、一覧表が出来ます それを範囲指定して、コピー、C列に貼り付けます オートフィルターを解除 (「すべて」をクリック) D列とE列に次の式を入れます D =COUNTIF(A$2:A$17,C5)  (範囲はA列のデーターに合わせる) E =RANK(D5,D$5:D$10)  (範囲はA列のデーターに合わせる) 以下、下にコピー

yukimusu
質問者

お礼

お礼が遅くなり申しわけありません。 詳しい説明ありがとうございました。 思いもつかなかった式なので少しずつ噛み砕いて理解&構成をしていこうと思います。

関連するQ&A

  • エクセル 自動並び替え

    エクセルでサッカーの試合結果を計算してるのですが順位の上位順に自動的に並べ替えたいのですがどのようにすればよいのでしょうか? できればシート1に入力すれば自動的にシート2にランク順に記入できればいいのですが 例 シート1 チーム名 順位  ・・・・・  A   3位  ・・・・・  B   1位  ・・・・・  C   2位  ・・・・・ シート2 順位  チーム名 ・・・・・ 1位   A   ・・・・・ 2位   B   ・・・・・ 3位   C   ・・・・・

  • Excelの関数について

    ワークシート1(工程参照)とワークシート2(オプション参照)の2つのワークシートがあり、そのいずれにも機番と言う項目があります。(P057VD152のように記載されています。) ワークシート1(工程参照)にワークシート2(オプション参照)の機番を貼り付けて、その2つのセルを比較し同じ機番のみを抽出したいのですが、Excelの関数を使用して出来るでしょうか。 Excelの関数については最近、本を購入して多少読んだ程度です。 説明がうまく出来ないのですが、宜しくお願いします。

  • Excel 関数 検索

    EXcelの関数について教えてください。 出場者の名簿(受付NO.品名.氏名.住所.etcを受付順で作成しました。 受賞者の順位もそのシートに入力してあります。 受賞者の順位はランダムで入力されます。 別シートで受賞者の順位を1~入力して、それに対応した内容を出場者の名簿から表示したいと思います。 そのシートを受賞者の順位に並び替えてしまえばLOOCUP関数で処理できますが、並び替えないで、受賞者コードを1~入力して表示できないでしょうか?

  • エクセルの数式について

    現在以下のようなエクセルを作成中です。 (1)複数の団体をある数値(例えば所属人数など)で順位付け。セルの上から順に並べる。 (2)数日後に変動した数値で改めて並び替え。前のデータとの差分を違うシートに出力 少し分かりづらいかと思いますので例を挙げます。 団体A:人数10名(1位) 団体B:人数9名 (2位) ~3日後~ 団体B:人数13名(1位)・・・・差分4名 団体A:人数12名(2位)・・・・差分2名 エクセルの上のセルから順位で並べる方法は分かるのですが、上記の例のように順位が入れ替わったときの差分の計算方法(使用する数式)がよくわかりません。3日後の1位(団体B)から前データの1位(団体B)の差分(3人)が計算されてしまいます。この場合はどのような数式を使用するのが有効でしょうか?

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

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

  • エクセル 関数について

    ▼質問内容 【図1】 コード  商品番号  業者名    商品名   上代   下代 11111    a      ※1     えええ     2,000   ※2 ※1、【図2】の一覧から、えええが最安値の業者名を抽出したい。 ※2、【図2】にある最安値店舗の下代を抽出したい。 【図2】 コード  商品番号  業者名    商品名    上代   下代 11111    a      テスト      えええ     2,000    1,000 11111    a     あああ     えええ     2,000    1,300 11111    a     いいい     えええ     2,000   1,250 11111    a     ううう      えええ    2,000    800 ▼解説として、 図2の表がシート2のA1セルからF1セルには項目名が2行目から下方に各データが入力されているとします。 シート1では図1がA列からF列の1行目に項目名があるとして、C2セルには次の式を入力して、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。その後にその式をF2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 こちらの設定をすれば、解決するとご教示頂いたのですが・・・ =IFERROR(INDEX(Sheet2!$C:$F,MATCH(MIN((IF((Sheet2!$A$2:$A$1000=$A2)*(Sheet2!$B$2:$B$1000=$B2),Sheet2!$F$2:$F$1000))),Sheet2!$F:$F,0),COLUMN(A1)),"") 行数が増えてきたのと、【図1】のデータ配列を変えなくてはいけなくなってしまい、 結果として最安値ではない業者名が抽出されてしまうといった事態になってしまいました。 【図1】 コード  商品番号  業者名  ブランド名  商品名  上代   下代 11111    a      ※1     いいい   えええ   2,000   ※2 解決策が見当たらず、非常に困ってしまいました。 どなたか、解決方法をご教示頂けませんでしょうか? 宜しくお願い致します。

  • エクセルの関数(VLOOKUP)を教えてください

    エクセルの関数について質問です。 現在売掛金管理用に作成中のエクセルの中にシートが2つ(DBシートと報告シート)があります。 DBシートの情報を報告シートに反映させているのですが、 1つ項目を増やしたくその方法を教えて頂けたらと思います。 報告シートの得意先名や未回収残高等はVLOOKUP関数でDBシートから得意先コードをもとに反映しています。 滞納回数もカウントして管理したいと思い、報告シートに項目を付け加えました。 しかしながら、どのような関数で反映させたらよいかわかりません。 具体的には未回収残高が発生した得意先の滞納回数欄にDBシートの滞納回数+1の数字を反映させたいと思っています。 今まで滞納がなく、DBシートの滞納回数が0回の得意先が今回初めて滞納した場合「1」と表示されるようにしたいです。 この場合はVLOOKUPとIFを組み合わせるとよいのでしょうか?? 大変お恥ずかしいのですがご教示頂けましたら幸いです。

  • エクセルの関数について

    お暇な時で構いませんのでアドバイスいただけると助かります。 毎月、月報を作成しています。 どういうことかというと、Sheet2の貼り付け元から、Sheet1の貼り付け先へ数字を貼り付けるのですが これを、数式を入れて自動化できないか検討していますが、なかなかうまくいきません。 Sheet2の列C(7月2日)と行2(24時間ホルター心電図)が交わるセルに「4」という数字が入っています。 その数字をそのまま、Sheet1の「24時間ホルター心電図」と「2(日付を表しています)」の交わるセルへコピーします。 これを31日まで、全項目分ひたすらコピーしていくのですが、このような作業のエクセルファイルが複数あるため、非常にこの作業が手間です。 数式を入れればなんとかなるかと思いましたが問題があって、 (1)Sheet2は元々、エクセル以外のデータベースから抽出したもので、毎月新しく抽出しています。 毎月項目も増減があります(たとえば、今月は「24時間ホルター心電図」の項目が存在しますが、来月はこの項目の行自体出てこないときもある) (2)Sheet1は毎月固定のフォーマットですが、行の順番がSheet2と全く違いバラバラです。 以上2つの問題の壁をどうしても乗り越えられません。。 質問の意味が不明であれば、出来るだけ補足いたしますので、 お力を貸していただけないでしょうか。 宜しくお願い致します。

  • エクセル関数をつかってカウントできる表をつくる

    エクセルで苦情電話がかかってきた回数をおおい順に並べ替えるような表が作りたいです。 会社名でカウントしたいんですが、まずは会社名をあいうえお順に並べ替え、その後あいうえお順の苦情電話の多い順にしたいのですが、カウント関数を使ってもうまくいきません。 なにかいい方法はありませんか?

  • エクセルの関数が?分かりません???

    エクセルの↓ような期別で分けてあるシートが4枚あって   A     B    C    D   P   Q     R 1 商品名 カラー名 商品区分名 6月~5月 数量合計 数量平均 2 3 . . 商品名の同じもの同志(それぞれのシートに1つずつあるけど、ないものもあります。)で期の順に新しいシートにまとめて表を作りたいのですが、 関数がわかりません。VLOOKUPだと思うのですが、使い方を間違えているのか全くできなくて困っています。どなたか分かる方どうかわかりやすく教えて下さい。 よろしくお願いします。 

専門家に質問してみよう