• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 空白を無視して並び替える方法を教えてください。)

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

このQ&Aのポイント
  • エクセルで空白を除いてセルを並び替える方法について教えてください。
  • エクセルのセルに含まれる空白を無視してデータを整理したいです。
  • 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