• ベストアンサー

エクセル2003の並べ替えについて

写真のように、左側の表に入力された名前を 右側に自動で、上から詰めて表示したいのですが、可能でしょうか? 名前が増えれば(新たに入力したら)、 右側にも自動で名前が増えるようにしたいのですが・・・ よろしくお願い申し上げます

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

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

E2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTA(B$4:B$1000)>=ROW(A1),B4,IF(COUNTA(B$4:B$1000)+COUNTA(C$4:C$1000)<ROW(A1),"",INDIRECT("C"&ROW(A1)-COUNTA(B$4:B$1000)+3)))

ein-zwei
質問者

お礼

うまくいきました!ありがとうございました!

その他の回答 (4)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.5

E2セルに =IF(COUNTA(B$4:B$8)>=ROW()-1,B4,IF(COUNTA(B$4:C$8)>=ROW()-1,OFFSET(C$4,ROW()-COUNTA(B$4:B$8)-2,0),"")) 後は下方向のえ2セルをコピー。 領域は出題に合わせましたので人数を増やす場合は B$4:B$8 と B$4:C$8 なっている部分を3か所直して下さい。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 前回の回答の数式が少し違っていました。 訂正してみてください。 Sheet1の作業用の表のC3セルに =IF(A3="","",COLUMN(A1)*10+ROW(A1)) として元データの列数分と下へずぃ~~~!とコピーします。 Sheet2のA2セルの数式はそのままで B2セルの数式を =IF(A2="","",INDEX(Sheet1!$A$3:$B$1000,MOD(A2,10),INT(A2/10))) としてみてください。 どうも何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! すでに回答は出ていますので・・・ 参考程度で、他の方法の一例です。 ↓の画像のようにSheet1のデータをSheet2に並び替えするようにしています。 両方のSheet共作業用の列を使わせてもらっています。 Sheet1のC3セルに =IF(A3="","",IF(COLUMN(A1)<2,ROW(A1)*10+COLUMN(A1),ROW(A1)*1000+COLUMN(A1))) という数式を入れ、列方向と行方向にオートフィルでコピーします。 Sheet2の作業列・A2セルに =IF(COUNT(Sheet1!$C$3:$D$1000)<ROW(A1),"",SMALL(Sheet1!$C$3:$D$1000,ROW(A1))) B2セルに =IF(A2="","",INDEX(Sheet1!$A$3:$B$1000,IF(INT(A2/1000)<1,INT(A2/10),INT(A2/1000)),MOD(A2,10))) という数式を入れ、A2・B2セルを範囲指定し、 B2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は1000行まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 そして、作業用の表と列が目障りであれば非表示にしても良いかと思います。 以上、参考になれば幸いですが 他に良い方法があれば読み流してくださいね。m(__)m

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

こんばんは。 一例です。 '===========シートモジュールに記述=========================== Option Explicit Private Sub Worksheet_Change(ByVal Target As Range)   Dim myLastRow As Long   Dim c As Long, r As Long, i As Long      If Target.Column = 1 Or Target.Column >= 4 Then Exit Sub      Columns("E:E").ClearContents      i = 2   For c = 2 To 3     myLastRow = Cells(Rows.Count, c).End(xlUp).Row     For r = 4 To myLastRow       If Cells(r, c).Value <> "" Then         Cells(i, "E").Value = Cells(r, c).Value         i = i + 1       End If     Next r   Next c      End Sub '==========使い方================================== 'B,C列が変化した際に自動で実行されます。

関連するQ&A

  • エクセルでの並べ替えについて教えてください。

    0451 田中 451 佐藤 4564 加藤 777 石井 7456 鈴木 897 狭山 といった感じで200行位番号と名前が続きますこれを。 001 山川 001 山川 002 一郎       ←このように左側の列にはあっても右側 003 栢山 003 栢山   にはなかったりする表があるのが、この              ような並べ替えをするにはどうしたら良い              のでしょうか?宜しくお願い申し上げま              す。

  • excelについて質問です。

    Excelを勉強中です。 そこで、画像を添付したので、質問させて下さい。 右側にある表に対して、左側の表に自動的に数字を表示させたいのですが、 例えば、枚数が11枚から始まります。金額は枚数に応じて右側の表の加算額が 加算されます。右側の表の達成額以上になると、枚数が次から1増えます。 これを、金額が1億になるまで計算したいのですが、エクセルでできますでしょうか? 現在、C欄の計算は上のセル+枚数に応じた加算額。B欄は右側の達成額を確認しながら ひとつひとつ入力するという方法しか思い浮かばないので、よろしくお願いいたします。

  • Excelでの計算式について

    Excelで、計算式を勉強しています。 画像を添付したので、質問させて下さい。 右側にある表に対して、左側の表に計算式を入れ、自動的に数字を表示させたいのですが… 例えば、枚数が11枚から始まります。金額は枚数に応じて右側の表の加算額が 加算されます。 右側の表の達成額以上になると、枚数が次から1増えます。 これを、金額が1億になるまで計算したいのですが、エクセルでできますでしょうか? 現在、C欄の計算は上のセル+枚数に応じた加算額。B欄は右側の達成額を確認しながら ひとつひとつ入力するという方法しか思い浮かばないので、よろしくお願いいたします。

  • excelで表を作り変える方法を教えてください

    画像のように左側のようになっている表を、 右側のように作り変えたいのですが。。。 ・タイトルが表上にしか入っていない ・同一列に同じ名前が複数入っている のでmatchも使えずこまっています。 ちなみに表だけで100個以上あるので、 表の横にタイトルを入力していくだけでも一苦労です。。。 何かいい方法をご存じの方、いらっしゃいませんでしょうか?

  • Excel(エクセル)での並べ替え

    Excel(エクセル)で自動で縦書きを横書きにしたいです。 以前にココで似たような相談をして、 回答していただいた中のヒントを生かしてやってみたのですが、 新たな表に上手く対応できませんでした。 申し訳ないのですが どうかもう1度、お力添えをお願いいたします(ノД`)・゜・。 添付画像のように A2~E7の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 I2~K7にどの様な数式を入れればよいか教えてください! ときどき発生する複数行に対応する数式がわかりません。 甘えてばかりで申し訳ないのですが、よろしくお願い致します。

  • エクセル教えてください(表の集計)

    添付写真のような表があります。 この表を集計したいのです。 上の表を入力すると、別の集計欄に自動的に山田さんの合計金額、佐藤さんの合計金額・・・が表示されるようにしたいです。(名前と合計金額が出ればOKです) 可能でしょうか? 数式は初心者に毛が生えた程度の知識しかありません。 わかりやすくご教示願います。

  • エクセル データの並べ替え

    エクセルでシート内にデータを入力しています。 A列に氏名が入力されており、B列は空欄でC列に花の名前が入っています。(氏名と花の名前は各自決まっております。) A列を”並べ替え”を使って五十音に並べたときに、自動的にC列の花の名前も連動して並べ替えしたいのですが、そういう操作は可能なのでしょうか? よろしくお願い致します。

  • エクセルの関数

    エクセルの使い方で、、、 横並び2個のセルで左側セルに1~100番(入力規則でリスト設定済)まであり、例えば1を選ぶと会議室、 5を選ぶと給湯室、と右側セルに自動表示させる計算式って ありますでしょうか。よろしくお願いいたします。

  • エクセル 並べ替え

    貼付のような表があります。 1列目は2行が結合されている状態で、カタカナで名前が入力してあります。 1列目を基準にして表全体を昇順で並べ替えをしたいのですが、通常通り行うと「同じサイズの結合セルが必要」とメッセージが出て、行えません。 並べ替えを行う方法はありますでしょうか?

  • エクセル並べ替えについて

    お世話になっております。売掛管理をしております。名前をあいうえお順に、B5あ-1 C5相田 B6あ-2 C6秋元 B7い-1 C7飯田 というように入力しています。 いまの所、300人位ですが、あ-8をB200に入れたとして、あ-1、あ-2・・・あ-7の次にあ-8がくるように並べ替えをしたいのですが、1つのセルで降順とかにするとあ- の後の数字が降順になりません。セルを分けてB5・あ- B6・1 のように入力するしかないでしょうか??? またまた分かりずらくてスミマセンが、宜しくお願い致します。

専門家に質問してみよう