- ベストアンサー
excel2002でa2が番号a3がその番号の名前になっていて
excel2002でa2が番号a3がその番号の名前になっていて そのあとa4~a7が空白でa8が番号a9が名前その後4つが空白というように 並んでいます これをマクロ、関数などで空白行を詰めたいのですが いい方法ないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 関数による一例です。 ↓の画像のC2セルに =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)))) これは配列数式になってしまいますので、 この画面からセルにコピー&ペーストしただけではエラーになると思います。 数式をC2セルに貼り付け後、F2キーを押す、又はC2セルをダブルクリック、又は数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 このC2セルをオートフィルで下へコピーすると 画像のような感じになります。 尚、数式は100行目まで対応できるようにしていますが データ量によって範囲指定の領域はアレンジしてみてください。 以上、長々と書きましたが 参考になれば幸いです。m(__)m
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。式を表示するのを忘れていました。申し訳ありませんでした。 B1セルに次の式を入力してから下方にオートフィルドラッグします。 =IF(A1="","",ROW()) その後にA列とB列を選択して「並べ替えとフィルタ」で「昇順」で並べ替えをすれば完成です。
お礼
ありがとうございます できました これも便利ですね 回答ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばE列を作業列としてE1セルに1を入力した後でE2セルには次の式を入力して下方にオートフィルドラッグします。 その後にA列からE列までを選択し、「並べ替えとフィルタ」で「昇順」をクリックすればよいでしょう。
お礼
空白の行も数字が入ってしまうので並び替えをしたところで空白の間隔は詰められないと思うのですが・・補足お願いします 回答ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
A列を列選択する Ctrl+Gを押す(または編集メニューのジャンプを開始する) 現れたダイアログでセル選択をクリックする 現れたダイアログで「空白セル」にマークしてOKする 空白だと思っているセルが正しく飛び飛びに選択されたら,すかさず 編集メニューの削除を開始して,上に詰めるにマークしてOKします。 #別の手 A列を列選択して データメニューのフィルタでオートフィルタを取り付け 「(空白以外のセル)」で絞り込んで, 意図した「詰めて残したいセル」が上手く絞り込めたら A列を列選択して Ctrl+Cでコピーして とりあえずシート2にでも貼り付けて,意図した結果が得られているか見てみる。
お礼
こ、こんな簡単な方法があったのですね 機能があることはしっていましたがぜんぜん思いつきませんでした 助かりました 回答ありがとうございました。
お礼
これはすごい できました。 これだけ複雑なのを作れる人はエクセルが自由自在にできるのでしょうね うらやましいです 丁寧に画像まで上げていただいて助かりました。 回答ありがとうございました。