- ベストアンサー
Excel データの並び替え
以下のようにする方法がないでしょうか? データベースのようにつかいたのです。 A列にデータをいれるとB列に自動で、 以下のようにならぶようにしたいです。 空白セルを飛ばし上から順番に並べかえたいのですが 方法はないでしょうか?不可能なのでしょうか? 可能でしたらB列にいれる数式、関数をおしえてください。 A B C 1 5 5 2 4 4 3 7 7 4 1 5 1 3 6 7 3
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#01です。データは1行目からあるのでしたね。 式を以下に訂正します。 =IF(ISERROR(SMALL(IF($A$1:$A$7="","",ROW($A$1:$A$7)),ROW())),"",INDEX($A$1:$A$7,SMALL(IF($A$1:$A$7="","",ROW($A$1:$A$7)),ROW())))
その他の回答 (4)
- Wendy02
- ベストアンサー率57% (3570/6232)
B1: =IF(ROW(A1)>COUNTIF($A$1:$A$7,"<>"),"",INDEX($A$1:$A$7,SMALL(INDEX(($A$1:$A$7<>"")*ROW($A$1:$A$7),,),COUNTIF($A$1:$A$7,"")+ROW(A1)),1)) 後は、ドラッグダウン・コピーしてください。 この数式は、A:A は、入れるとエラーになりますので、必ず、必要最小限の範囲の設定をしてください。 COUNTIF($A$1:$A$7,"<>") など、$A$1:$A$7 は、データ範囲ですが、 ROW($A$1:$A$7) のROW関数を使った部分のみ、そのデータの範囲のはじめは、必ず、$A$1で、範囲は、データの範囲と同じ長さにしなければなりません。できるだけ、A1 から式を作るのが楽です。 また、空白値は、="" の場合は、最終行にエラーが出ます。 なお、こちらの予想しているセルのデータの内容と違うとき、例えば書式等で空白値にしてある場合は、うまく行きません。
補足
これはまた別の書式ですね。色々できるんですね。参考になりました。
- NCU
- ベストアンサー率10% (32/318)
1.A列を選択 2.Ctrl+「g」 3.セル選択 4.空白セル→OK 5.Ctrl+「-」 6.行全体→OK 以上をマクロ記録でもすればいかが?
お礼
私の作る表はみんなが使うので、マクロだと都合がわるいんです、説明不足ですいません。
- dec02
- ベストアンサー率36% (578/1602)
列を指定 データ → オートフィルタにチェック 列の▼【空白以外のセル】を選びます。
お礼
すいません・・自動でセルかえたかったのです、説明不足ですいません。
- zap35
- ベストアンサー率44% (1383/3079)
VBAでやる方法もありますが、関数で実現するなら、B1セルに以下の式を入れて Shift + Ctrl + Enter で入力して下さい。B2以下にはB1をコピー =IF(ISERROR(SMALL(IF($A$2:$A$8="","",ROW($A$2:$A$8)),ROW()-1)),"",INDEX($A$1:$A$8,SMALL(IF($A$2:$A$8="","",ROW($A$2:$A$8)),ROW()-1)))
お礼
なるほどセルの場所をしらべてやるんですね、考えつかなかったです、助かります(*- -)(*_ _)ペコリ。