• 締切済み

番号順に配列するには?

番号順に配列するには? A列に飛び飛びに番号が入力されていて、 その隣にデータがあります。 それをA列の番号順に、飛んでいる番号は空白にして 番号と一緒にデータを配列するにはどうしたらいいでしょうか??

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

AおよびB列にお示しのデータがあるとしてD1セルには次の式を入力してE1セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF($A:$A,ROW(A1)),INDEX($A:$B,MATCH(ROW(A1),$A:$A,0),COLUMN(A1)),"")

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 別列(仮にE,F列)にデータを展開します。 (1)E1に=IF(COUNTIF(A:A,ROW(A1),ROW(A1),"")、F1に=IF(E1<>"",VLOOKUP(E1,A:B,2,FALSE),"") (2)E1:F1を選択して下方向にコピー、その範囲をコピー→A1を選択し、形式を選択して貼り付けで値を選択→OK (3)E,F列を削除

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 配列の並び替え

    下のように5つの配列がA~E列まであって、2、3行目にデータが入っています。このときに、2行目の値が3行目の値より小さい配列で、かつ、2行目の値が小さい順に並べる。その後に、3行目より、2行目の値の方が大きい配列を3行目の値が大きい順に並べるマクロコードを教えてください。   A B C D E←列      1  1 2 3 4 5←配列番号 2  4 9 8 6 2 3  1 5 7 10 3      ↑ 行    ↓     A B C D E 1  5 4 3 2 1 2  2 6 8 9 4 3  3 10 7 5 1

  • 列に番号を打つ

    セルA3から1から順番に番号を付けようと思います。(A3=1,A4=2,A5=3,・・・・・・・)条件はこんな条件です。B列に何かデーターが入った時に(データーがない時は隣のA列は空白です)隣のA列に番号が付く。最初にデーターが入るのはセルB3から順番に下に入っていきます。データーはどこまで入るか決まっていません。A3のセル(=if(B3="","",A2+1))に関数を書くことが出来ません。(A列のセルにデーターがあるとB列にデーターがうまくコピーされません)つまりB3にデーターが入ってからA3に番号を打つようにVBAでよろしくお願いします。

  • Excel 関数で上から順に数字を整列させる

    Excelで、下記表(例)に入力された数字を上から順に関数を用いて隣のB列に整列させたいです。 ・例 A1:A60の表があります。 ※以下A列に入力された数字とします 1 空白 2 20 3 空白 4 15 5 25 ・(省略、この間空白と考えて下さい) ・ ・ 59 10 60 空白 上記表(例)は、A2に20,A4に15,A5に25,A59に10それ以外は空白を表します。 上記表のセル内数字は全て手入力とします。 全てのセルが空白の場合もあります。 B列はB1:B5の5行です。 この入力された数字を関数を用いて、B列に上から順にB1に20,B2に15,B3に25,B4に10,B5は空白となるように整列させたいです。 B列セル結果は他シートに参照されますのでセルはロックを掛けています。 上記のことからデータの並べ替えも使えませんし昇降順でもありません。 上から順に整列させた数字を、B1:B5の5行内で上位5まで表示させます。 A列の行数が多いのでif関数も使えません。 なお、上記質問内に不明な点がありましたら補足させて頂きます。 以上、宜しくお願いします。

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

     初めまして、よろしくお願いします。  セル上にランダムに整理番号を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列のデーターを振り分けられる関数をよろしくお願いします。

  • 配列のソートについて

    配列をソートした時、もともとデータのあった配列番号を記憶しておきたいのですが いい方法はないでしょうか (31,55,84,20,96,14); //1 2 3 4 5 6 ↓ (14,20,31,55,84,96) //6 4 1 2 3 5    ※ソート前の配列番号 いくつかの行(配列A)の、違う列にあるデータを抜き出して配列Bにまとめた後、配列Bをソート その後、配列Bのもともとの順番の位置の行にあるデータを上からコピーしていく感じで行ごとのソートを考えています イメージはこんな感じです a[0]=[1,512,200]; a[1]=[3,100,1]; a[2]=[4,100,265]; a[3]=[8,300,1]; //ソート対象を抜き出す b[0]=a[0][1]; b[1]=a[1][2]; b[2]=a[2][0]; b[3]=a[3][1]; b.sort(); c[0]=a[b[0]のソート前の配列番号]; c[1]=a[b[1]のソート前の配列番号]; c[2]=a[b[2]のソート前の配列番号]; c[3]=a[b[3]のソート前の配列番号];

  • 500行の中から、多い順に抽出する方法

    A列に一連番号、B列に型式、C列に製造番号、D列に販売月日が入力されています。 B列には複数のデータがランダムに入力されておりますが、それを多い順に一覧表にできるマクロがあれば…と考えています。 なにかいいアイデアはないでしょうか?

  • Excel のVBA ループ処理について

    マクロの歴が浅く、いまひとつ処理のロジックがわかりません。どなたかご教示下さい。 A列には番号が振ってあり、B列にはデータがあります。 ここで、番号で分けられているデータは7項目ある状態で、A列の番号をキーにして、ループ処理をさせたいと思っています。 データを上から順番に見ると、A1には番号1があり、1のデータはB1からB7まで書き込まれている配列になっています。この配列が、番号がnまで続く時のループ処理がわかりません。つまりA1の番号の下、A2からA7までは空白で、A8に番号2があり、この2のデータがB8からB14まで番号1と同様のデータが並んでいる配列です。 間に空白の無い場合の処理はわかるのですが、この様な場合、どういう処理を行えばよろしいのでしょうか?

  • 配列のサイズを動的に指定したい。

    現在FeliCaを使ったプログラムを作っているのですが、 FeliCaから読み込んだデータを各配列にサイズぴったりで格納したいんですが、読み込むデータによって配列のサイズが違うため、あらかじめ配列のサイズを指定しておくことができません。  例1「012 34567 89]    例2「01 2345678 9」   a[3]=012           a[2]=01   b[5]=34567          b[7]=2345678   c[2]=89            c[1]=9 というように空白で区切った文字列を各配列に格納したいのです。 なにか良い方法はないでしょうか? ソフトはVisualStudio6.0を使用しています。

  • 配列の要素の入り方

    こんばんは。 現在C言語のプログラミングを勉強しています。 まだまだ初心者で基礎も十分には理解できていないので、とても基本なのかもしれませんが質問させていただきます… 例えば以下のような、配列に文字を入力するだけのプログラムを作ったとします。 --------------------------------- #include<stdio.h> main(){  int data[10];  printf("input - ");  fgets(data,10,stdin); } --------------------------------- これを実行し、 input - abc のように「abc」と入力すると、配列にはどのように入るのですか?  data[0]=a, data[1]=b, data[2]=c となるまではわかるのですが、data[3]からdata[9]には何が入るのでしょうか。配列のクリアはしていない状態です。 改行とnullが入る、というように聞いたのですが、これらはどのような順(?)で配列に入っているのかがわかりません。 よろしくお願いします。

  • 【エクセル】番地「12-3」「345」「6-7-8」の親番号だけ抜き出したい。

    いつもお世話になってます。 A列に番地が入力されています。 「12-3」「4-5」「67―8―9」「901-2」など。 中にはハイフォンの無い「321」などの番地もあります。 一番左の親番号だけをB列に表示させるにはB列にどのような関数式を入れればよいのでしょうか。 ・逐次、増えていく値なので「区切り位置」機能で分割する方法は考えてません。 ・未入力のA列セルの隣のB列のセルは空白にしたいです。 よろしくお願いします。 (エクセル2003)

専門家に質問してみよう