- 締切済み
エクセルの並び替えについて質問です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Nouble
- ベストアンサー率18% (330/1783)
済みません 気にはなっていたのですが、 見直したら 間違えていました。 後もう一つ 文字列を関数で並べ替えるのは 少々工夫が要るので、今回は… 改めて お詫びの上訂正します、 正記 =OFFSET($A$6,MAX(INDEX(($B$7:$B7<>"")*ROW($A$1:$A1),,)),1,1,1) 誤記 =OFFSET($A$1,MAX(INDEX(not(ISBLANK($B$7:$B7))*ROW($B$7:$B7)-1,),0,1,1) 変更点 OFFSET構文の起点を変更 此に伴い、ROW構文内の記述も変更 NOT(ISBLANK( この使用を止め 「””」との不一致を見るようにしました。 INDEX構文の仕様上の食い違いを修正し *ROW($B$7:$B7)-1,) → *ROW($A$1:$A1),,) と、変えました 済みませんでした 正記の方を 必要なだけフィル頂けると 空白が其の直上の入力内容で補完されます 余りにも微力で申し訳ない、 尚、 リンクにサンプルページを用意しました。 役に立てていたなら幸いです。
- 参考URL:
- http://1drv.ms/1ENaMj6
- MackyNo1
- ベストアンサー率53% (1521/2850)
並べ替えを行うには、並べ替えを行うセルには基本的にデータで埋まっていなければなりません。 例示のデータのようにA列やB列は上と同じデータが入力されている場合、そのセルは空白セルにしてあるリストなら、これらの空白セルに以下の方法でまとめて上と同じデータを埋め、上のデータと同じ場合は条件付き書式でフォントの色を自動的に白にして、元のリストと同じレイアウトにするのが最も実戦的で簡単な対応です。 A1セルから右に項目名が表示されているなら、A列とB列を選択して、Ctrl+Gでジャンプダイアログを出し「セル選択」で「空白セル」にチェックを入れ「OK」します。 この状態で対象範囲の空白セルがすべて選択されていますので、現在のアクティブセル(数式バーの左のアドレスバーのセル番地)よりも一つ上のセル(たとえばアクティブセルがA3セルならA2セル)を参照する「=A2 」の数式を数式バーに入力してCtrlキーを押しながらEnterすればすべての空白セルに上のデータをまとめて入力することができます。 次にデータ範囲よりも少し大きめのA2:B1000セルを選択して、ホームタブの「条件付き書式」で新しいルールで「数式を使って・・・」を選択し、「=A2=A1」と入力し、「書式」ボタンから「フォント」の色を白にします。 このように設定しておけば、元のリストと同じレイアウトでご希望の並べ替えを実行することができます。
- Nouble
- ベストアンサー率18% (330/1783)
関数で別の位置に でいいなら、 このままでも出来ます。 人はこう見ています 其の場所が空白の場合で、 右に実データがある時は 上へ遡り 其の場所より上で 尚且つ最も下のセルと同じ と、見なす。 配列数式の得意分野ですね 仮にb20が並べ替え対象キーの空白項目だったとします。 此を補完します。 b20の高さはrow(b20)で求まります。 其のセルが空白かはISBLANK(セル番地) ででも良いでしょう 見出し行を 仮に6行目とします 説明をはしょると =offset($a$1,max(index(not(isblank($b$7:$b7))*row($b$7:$b7)-1,),0,1,1) 此を適切な場所に書き 下にずるずるっとフィルすると… どうでしょう? 確認する環境が今ないので、 確信は持てないのですが お役に立てていたならば幸いです。
- akiomyau
- ベストアンサー率43% (555/1280)
希望するような並べ替えをしたい場合、商品名などの項目で 上と同じなので空白にしていると正しく並べ替えをすることはできません。 上と同じ空白の部分を省略せず、商品名など各項目を入れてください。 そうすれば普通の並べ替えの機能でできるようになります。
お礼
ご丁寧にありがとうございました!さっそくやってみます!