• ベストアンサー

エクセル2003について

エクセル2003を使用しています。 写真のように、 例えば、A列に名前が、行間がランダムに空いて入っているとします。 これを、例えばC列に、上から順番に隙間なくセルに表示させるにはどうすればよいでしょうか? ご教授いただけます方、何卒よろしくお願い申し上げます。

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

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

おはようございます! すでに回答は出ていますので、 参考程度で目を通してみてください。 ↓の画像で、D列・E列はまったく同じですが 数式を変えています。 一つは配列数式になりますので、B列の作業用の列は不要になります。 D2セルに =IF(COUNTA($A$2:$A$100)>=ROW(A1),INDEX($A$2:$A$100,SMALL(IF($A$2:$A$100<>"",ROW($A$1:$A$99)),ROW(A1))),"") として、Shift+Ctrl+Enterキーで確定し、オートフィルで下へコピーしています。 E列は作業用のB列を参照し、A列を返すようにしています。 B2セルに =IF(A2="","",ROW(A1)) としてオートフィルで下へコピー E2セルに =IF(COUNT($B$2:$B$100)>=ROW(A1),INDEX($A$2:$A$100,SMALL($B$2:$B$100,ROW(A1))),"") とし、オートフィルで下へコピーすると 画像のような感じになります。 尚、両方の数式とも100行まで対応できるようにしています。 以上、長々と失礼しました。m(__)m

ein-zwei
質問者

お礼

できました!度々のご回答をありがとうございます! こちらの方法が、すっきりしていてよいので、使用させていただきます! 本当にありがとうございました!

その他の回答 (6)

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

A列を選択します。 「編集」メニューから「ジャンプ」を選択します。 表示される画面の左下にある「セル選択」をクリックします。 「定数」にチェックをしてOKします。 文字の入ったセルが選択状態になりますので「編集」から「コピー」をクリックします。 C1セルを選択して「編集」から「貼り付け」をクリックします。 最後にEscキーを押して終了です。

回答No.5

#2です。かぶってしまったので別案 ただし、タイトル行があるとします また、B列は作業列とします B1セルに 1 B2セルに =(A2<>"")+B1 下へオートフィル C2セルに =IF(LOOKUP(10^5,B:B)<=ROW()-1,"",INDEX(A:A,MATCH(ROW()-1,B:B)+1)) 下へオートフィル

ein-zwei
質問者

お礼

この方法も、大変参考になりました! 本当にありがとうございます!

noname#204879
noname#204879
回答No.4

C1: {=IF(ISERROR(SMALL(IF(A$1:A$1000="","",ROW(A$1:A$1000)),ROW(A1))),"",OFFSET(A$1,SMALL(IF(A$1:A$1000="","",ROW(A$1:A$1000)),ROW(A1))-1,))}   これは配列数式です。

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

こんばんは。 メニュー操作による方法です。 1)A列を選択し「コピー」→C列に「貼り付け」 2)C列を選択し「編集」→「ジャンプ」         「セル選択」ボタンを押し、         「空白セル」をチェックして「OK」 3)「編集」→「削除」    「上方向にシフト」をチェックして「OK」 以上です。

回答No.2

1行目にはタイトル行はないのでしょうか? たぶん、歓迎されないだろうなあと思いつつの回答。 A列コピー-C列へ貼り付け C列を選択したまま[Ctrl]+[G]ジャンプ-[セル選択]-●空白セル-[OK] [Ctrl]+[-]削除-●上方向にシフト-[OK]

回答No.1

(1)A列を選択 (2)Ctrl+Gでジャンプ画面を表示。 (3)「セル選択」ボタンを押して選択オプションを表示して空白セルをチェックしてOK。 (4)「編集」-「削除」で「上方向にシフト」を選択してOK。 以上です。

関連するQ&A