• ベストアンサー

入力された整理番号の最小値から最大値までを通し番号にしてデーターを振り分ける

 初めまして、よろしくお願いします。  セル上にランダムに整理番号をA列に、そのデーターをB列に順に乗せていきます。 例)     A    B    C     1   3   100 2   5    50 3   2    10 4   9     1 5   7    20 6 7 8 9 10 11  これを任意の場所(別シート)に     A    B    C 1 2   2    10 3   3   100 4   4     0 5   5    50 6   6     0 7   7    20 8   8     0 9   9     1 10 11 12  となる様な表を作りたいと思います。A列に入力された整理番号の最小値から最大値まで、入力されなかった番号まで(ここでは4,6,8)自動で通し番号となるよう表示し、B列のデーターを振り分けられる関数をよろしくお願いします。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

◆別シートのA1の式 A1=IF(AND(ROW()>=MIN(Sheet1!$A$1:$A$10),ROW()<=MAX(Sheet1!$A$1:$A$10)),ROW(),"") ★下にコピー ◆別シートのB1の式 B1=IF(A1="","",IF(COUNTIF(Sheet1!$A$1:$A$10,A1),VLOOKUP(A1,Sheet1!$A$1:$B$10,2,0),0)) ★下にコピー

kei__2000
質問者

補足

 回答ありがとうございます。このやり方だとうまくいきました。しかし関数の指定範囲を広げても、関数を貼り付ける位置をA1、B2ではなく、A5、B5と、下の位置に貼り付けるとずらした分の最初の数字が表示されなくなりました。何とか下へずらして貼り付ける方法は無いでしょうか、できましたら式のポイントもよろしくお願いします。

その他の回答 (1)

  • may0430
  • ベストアンサー率54% (57/104)
回答No.1

こんばんは。 関数というよりは「並べ替え」でよいのではないでしょうか? (任意の場所(別シート)に元の表のコピー(もしくはシートをコピー)する。) 表全体(A列、B列、各見出し行は含んでも含まなくてもOK)をマウスで選択し、 メニューバーの「データ」→「並べ替え」:昇順 (ツールバーに「AZ↓」があれば、それをクリック。)

kei__2000
質問者

お礼

 回答ありがとうございます。  このようにするやり方もありますが、関数で表示されていく方法を探しております。

関連するQ&A