電子書籍の厳選無料作品が豊富!

お世話になります。
Excelの操作について教えてください。

    A列  B列
1行  3
2行       2
3行  5
4行  4    1

     ↓

    A列  B列
1行  3    2
2行  5    1
3行  4
4行

と、空白でないのセルだけを、上に詰めて別のシートに表示させたいです。
出来れば関数を使って行いたいです。

いくつか同じような質問があったのですが、なかなかうまくいきません。
どなたか、ご教授下さい。

A 回答 (2件)

関数は列、行とかの操作には向いていませんのでエクセルの機能を利用した方が簡単です。



操作例です。
対象データ範囲をコピー、別シートに貼り付け→F5キー押下→セル選択→空白を選択→OK→Ctrl+-(ハイフン)キー押下→上方向にシフトを選択→OK

データ範囲の貼り付け後の操作をマクロ記録すれば、操作(ショートカットキー等)が簡単になりますが如何でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数で操作すれば、コピー忘れがなくなると思いましたが・・・
数式を{ }でくくると、動きが鈍くなりますねー
 ↑ どういう理由かわかってませんが (>_<)
マクロも検討してみます。

お礼日時:2012/11/12 17:09

お示しの表がシート1のAおよびB列にあるとしてシート2のA1セルには次の式を入力してから、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。

その後にその式をB1セルまでドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(COUNT(Sheet1!A:A)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!A:A<>"",ROW(A:A)),ROW(A1))))
    • good
    • 0
この回答へのお礼

早々のご返答、ありがとうございました。
早速、使わせてもらいました。
シート2に5行目までは、順調に表示するのですが、6行目以降データが表示されません。
何か原因があるのでしょうか。
お礼の欄で質問し申し訳ありませんが、再度ご教授いただけるとありがたいです。

お礼日時:2012/11/07 15:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!