エクセルで空白を無視して並び替える方法

このQ&Aのポイント
  • エクセルで空白を除いてセルを並び替える方法について教えてください。
  • エクセルのセルに含まれる空白を無視してデータを整理したいです。
  • Office2003を使用している場合でも、マクロを使わずに空白を無視してセルを並び替える方法を教えてください。
回答を見る
  • ベストアンサー

エクセル 空白を無視して並び替える方法を教えてください。

エクセル 空白を無視して並び替える方法を教えてください。 こんにちわ。 下記のようにしたいのですが、方法が思いつきません。ぜひアドバイスをお願いします。 例    A    B    C    D    E 1 あああ 空白 いいい ううう 空白 2 空白  えええ 空白 おおお かかか 3 ききき 空白 くくく 空白  けけけ このように空白がところどころに混ざっている状況で    F   G   H 1 あああ いいい ううう 2 えええ おおお かかか 3 ききき くくく けけけ のように空白を除き並び替えたいです。 私の頭で思いつかなかったため、アドバイスをお願いします。 今回はできればマクロを使用しないで行いたいです。 ちなみに使用しているのはOffice2003です。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 F1に以下の数式を貼り付け→shift+ctrl+enterキーを同時押下→縦横にコピー =IF(COUNTA($A1:$E1)>=COLUMN(A1),INDEX($A1:$E1,SMALL(IF($A1:$E1<>"",COLUMN($A1:$E1),999),COLUMN(A1))),"")

その他の回答 (6)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.7

 適当な列(ここでは仮にZ列)を作業列として使用し、 まずはZ1セルに次の数式を入力して下さい。 =IF(COUNTIF($A1:$E1,"><")=0,"",SUBSTITUTE("(株)(有)"&$A1&"(株)(有)"&$B1&"(株)(有)"&$C1&"(株)(有)"&$D1&"(株)(有)"&$E1&"(株)(有)","(有)(株)",))  次に、Z1セルをコピーして、Z2以下に貼り付けて下さい。  次に、F1セルに次の数式を入力して下さい。 =IF($Z1="","",MID($Z1,3,FIND("(株)(有)",$Z1,2)-3))  次に、G1セルに次の数式を入力して下さい。 =IF(3+SUMPRODUCT(LEN($F1:F1)+2)>LEN($Z1),"",MID($Z1,3+SUMPRODUCT(LEN($F1:F1)+2),FIND("(株)(有)",$Z1,3+SUMPRODUCT(LEN($F1:F1)+2))-3-SUMPRODUCT(LEN($F1:F1)+2)))  続いて、G1セルをコピーして、H1~J1の範囲に貼り付けて下さい。  次に、F1~J1の範囲をコピーして、同じ列の2行目以下に貼り付けて下さい。  以上です。

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

No.5です! たびたびごめんなさい。 E列まで元データがあるのを勘違いしていました。 F1セルの数式を =IF(COUNTA($A1:$E1)<COLUMN(A1),"",INDEX($A1:$E1,SMALL(IF($A1:$E1<>"",COLUMN($A$1:$E$1)),COLUMN(A1)))) (前回同様配列数式になります。) としてJ1セルまでコピーしてください。 どうも何度も失礼しました。m(__)m

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

こんにちは! 簡単は方法はすでに回答が出ていますが、 関数での方法をご希望のようなので・・・ 質問通りにデータはD列の4列をF列以降に表示させるとします。 F1セルに =IF(COUNTA($A1:$E1)<COLUMN(A1),"",INDEX($A1:$E1,SMALL(IF($A1:$E1<>"",COLUMN($A$1:$E$1)),COLUMN(A1)))) これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 F1セルに貼り付け後、F2キーを押す、またはF1セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 このF1セルをI1セルまでオートフィルでコピーした後に下へコピーすると希望に近い形にならないでしょうか? 以上、参考になれば良いのですが・・・m(__)m

  • moon00
  • ベストアンサー率44% (315/712)
回答No.3

該当するセル範囲をがばっと選択して、「編集」メニューからジャンプ→セル選択→空白セルでOK。 選択されたセルのどこかにカーソルを置いて、右クリックで削除。オプションで「左に詰める」を 選んでOKすれば、お望みの通りになりませんか? ただし、データ量が多すぎる場合は、フリーズする可能性があるので、そのときは分割して やってみてください。 データの左端、下端から分割して実行するのがいいと思います。

osarusan0214
質問者

補足

ありがとうございます。 そして、すみません>ω< 書き忘れました! 数式を使ってこれを行いたいです。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

並べ替えというか、空白詰めですね。 ファイル~名前を付けて保存 ここでファイルの種類を「csv」にします。 保存が終わったら、ファイルを閉じます。 テキストエディタ(メモ帳など)で、いまのCSVファイルを開きます。 編集~置換(違う場合もあります)で、 置換前 「,,」 置換後「,」 で、全て置換を実行します。空白が連続する場合は、置換候補が無くなるまで繰り返し実行します。 行の先頭が「,」の場合には、正規表現に対応したテキストエディタなら置換できますが、わからなければ取りあえず直接編集して下さい。 (Excelの並び替えなどで、あらかじめ先頭が空白のセルを消しておくのもいいかも) 上書き保存してExcelで開くと、空白が抜けたものになっています。

osarusan0214
質問者

補足

ありがとうございます。 そして、すみません>ω< 書き忘れました! 数式を使ってこれを行いたいです。

回答No.1

空白を除きたいだけなら、「データー → 並び替え」だけで良いのではないでしょうか?? (空白部分を詰めるという考え)

osarusan0214
質問者

補足

ありがとうございます。 そして、すみません>ω< 書き忘れました! 数式を使ってこれを行いたいです。

関連するQ&A

  • エクセルでセルが空白だったらその行を表示させない方法を教えてください。

    エクセルでセルが空白だったらその行を表示させない方法を教えてください。 こんにちわ。 色々調べたのですが、分からずアドバイスをいただきに来ました;; 何とかならないかと困っていますので、お願いいたします。 具体的には  A  B  C  D ... 1 ◎ あ い う 2   か き く 3 ◇ さ し す 4 △ た ち つ . . のようなA2が空白だった場合下記のように ↓↓↓↓↓↓↓↓  A  B  C  D ... 1 ◎ あ い う 3 ◇ さ し す 4 △ た ち つ . . のようにA2が空白だった場合「削除」ではなく「表示しない」としたいです。 ちなみにoffice2003のエクセルを使用しています。 マクロを組まないとできないのであれば、出来れば具体的なソース等を乗せていただけると幸いです。(マクロは勉強中で全然できないので^^;) よろしくお願いいたしますm(_ _)m

  • EXCEL 計算空白セル/0(ゼロ) 無視する方法

    以下のように、 =B7/((D7/E7)+(F7/G7)+(H7/I7)) の中で[D7・E7・F7・G7・H7・I7]のどれかが、空欄か0(ゼロ)の場合、#DIV/0!と返ってしまいます。 そのときにゼロや空欄を無視して計算する方法があったら教えてください。 この計算式にあたる関数も良く分からないので、困っています。 ※昨年比を出すため、逆算式を入れています。

  • 空白セルのカウント方法

    どなたかご存じでしたら回答をお願いします。 【質問】 各列毎に●や★が任意の数がある8行のセルがあります。 各列毎に8行目から上に遡り、●までの間の空白のセルを数える方法が知りたいです。 但し、★も”空白の1つ”として数えます。 【入力】   A  B  C  D  E  F  G ・・・・ 1 ●        ★ 2       ●  ●  3       ★        ● 4             ★ 5              6 7                ● 8                   ● 【結果】  A B C  D E  F G ・・・  7 8  6  6  8  1 0 ※結果の説明 A:●の下には空白が7個。 B:●が無く空白が8個。 C:●の下に★があるが空白とみなして6個。 D:●の下に空白が6個。 E:★があるが空白とみなして8個。 F:●の下には空白が1個 G:●の下には空白が0個 使用するエクセルは2010です。 以上、よろしくお願いします。

  • エクセルのマクロでこういう場合は?

    エクセル97です。 Sheet1の E3:J29 に表があります。 E列、F列は文字列、G列は数値、H~J列には式が入っています。 この表の G列の値が空白や0でない行だけをコピーして、Sheet2 のB2 以下に切れ目なく表の「値」を貼り付けるにはどうのようなマクロを書けばいいのでしょうか?(G列が空白や0の行はSheet2の表では一切無視され、空白行ができないようにしたいのです。) よろしくお願いします。

  • エクセルで1行置きに平均を求めたいのですが、エラーが返ってきたり空白行

    エクセルで1行置きに平均を求めたいのですが、エラーが返ってきたり空白行も計算されてしまうなど困ったことになっています 具体的にはG5からIS5までで1行置きに平均値計算 ただし空白行は計算の対象としない また、G5~IS5の計算の対象とするセルにはこのような数式が入っています 例 G5:「=IF(H5="","",(RANK(H5,$H$5:$H$44,0)))」 出力先はE5です 同じように1行置きの平均なんですが こちらはH5~IT5 空白行は対象としない こちらは数字を手で入力していく状況です 出力先はF5です。 分かりにくい説明ですがよろしくお願いします。

  • エクセルで空白セルを寄せたい

    エクセル2002使用です VBAは使わずに関数だけで空白セルがあるセルを詰めて表示したいのですが・・・   A|B|C|D|E|F|G 1 あ い う え お か き 2 ○   ○ ○   ○ の表を   A|B|C|D|E|F|G 1 あ う え か  2 ○ ○ ○ ○ のように表を書き換えたいのです。 1行目には必ず文字が入力されています。 2行目には入力されているセルと空白セルが不定期に入力されています。 2行目のセルが空白ならば、1行目のセルも削除して左へ詰めて 表を転記したいのです。 よろしくお願いします。

  • 入力された●から●迄の空白をカウントする方法

    どなたかご存じでしたらご回答よろしくお願いします。 【質問】  各列毎に●や▲が任意の数がある8行のセルがあります。  8行目の任意列に●を入力した場合、  そこから上に遡って●までの間の空白のセルを数える方法が知りたいです。  但し、▲も”空白の1つ”として数えます。 【入力】    A  B  C  D  E  F  G …  1 ●  ●         2        ●  ▲ ● ▲   3     ▲ ●       ▲  4                5  6  7   8 ●  ● ●               【結果】  A B C D E F G・・・   6 6 4 0 0 0 0 ※結果の説明 A:8行目の●から上に数えて●迄の空白は6個。 B:8行目の●から上に数えて▲がありその上に空白と●があるが、▲を空白とみなして6個。 C:8行目の●から上に数えて最初の●迄の空白迄は4個。 D:8行目に●は無いため、空白は0個。 E:8行目に●は無いため、空白は0個。 F:8行目に●は無いため、空白は0個。 G:8行目に●は無いため、空白は0個。 使用するエクセルは2010です。 以上、よろしくお願いします。

  • 収入または支出合計が空白(関数)になっていても差引合計が現れるよう様にする方法

    いつもお世話になっています。 エクセル2003で下記の様な 表を作っています。H・収入合計のセルに=IF((C3)=0,"",IF((D3)=0,"",(C3*D3)))という式が入っています。 同様にH・支出合計のセルには、 =IF((F5)=0,"",IF((G5)=0,"",(F5*G5)))と数式が入っています。 差引合計には=IF(COUNT(E3,H3)=0,"",(I2+E3-H3))という式を入たのですが、これだと収入・支出合計が空白と充たされてしまうのか#VALUE!という表示が出てきます。 もし収入・支出合計が空白でも、合計が現れる計算方法がありますか?。教えてください ロータスだとPURECOUNT関数を入力したら、計算されたと思うのですが?・・、エクセルでは不可能なのでしょうか?。 C     D       E       F    G      H      I 収入  収入数  収入合計   支出  支出数  支出合計  差引合計 1000   2       2000                          2000                        100     1    100     エラー                         1000    1   1000     エラー

  • Excelで空白セル直前のセルデータ値を取得したい

    Excelで空白セル直前のセルデータ値を取得したいです。    [A]  [B]  [C]  [D]  [E]  [F]  [G]  [H] [1]   5  8  9 [A1]~[G1]と順番にデータをスキャンし、空白セルが見つ かったらその直前のセルデータ値を取得し、その値を[H1]に表示す るには、どのようにしたらいいでしょうか。 上記の場合は[D1]が空白セルなので、その前の[C1]の値 9 を [H1]に表示したいです。 宜しくお願いします。

  • EXCEL VBA 条件による空白挿入

    EXCEL2003を使っています。 以下のように列FGHが空白の行については列ABCを空白を挿入したいのですが数万行あり処理をVBAで自動化したいです。どなたかお力をお貸し下さい。お願いします。 A B C D E F G H 1 1 2 3 4 5 6 7 8 2 1 2 3 4 5 _ _ _ 3 1 2 3 4 5 6 7 8 4 1 2 3 4 5 _ _ _ 5 1 2 3 4 5 6 7 8 ↓ A B C D E F G H 1 1 2 3 4 5 6 7 8 2 _ _ _ 1 2 3 4 5 3 1 2 3 4 5 6 7 8 4 _ _ _ 1 2 3 4 5 5 1 2 3 4 5 6 7 8

専門家に質問してみよう