[OCN光]Twitterキャンペーン開催中!

ExcelでA1からD10まで数字か入っています。
A列の行は固定で、B、C、Dの行を昇降順に変更するを方法を教えてください。
よろしくお願いします。

教えて!goo グレード

A 回答 (6件)

こんにちは



A列は並べ替えずに、B~D列は行をセットにして並べ替えたいということと解釈しました。

B1:D10を選択した状態で、「データ」-「並べ替え」で表示されるダイアログで
「優先されるキー」にキーとなる列(=並べ替えの判断にする列)及び「昇順/降順」を指定して「OK」を押し下げ。
で、できると思います。
    • good
    • 0

変更前、変更後のサンプルを提示してください。

    • good
    • 0

B1からB10まで範囲選択→並べ替え・・・この時、範囲拡張か現在の範囲だけかを聞いてくるので現在の範囲だけを選択しOK。


 
上記を各列で繰り返す。
    • good
    • 0

1.A列を別シートにコピー


2.BCDの昇降順に並べ替える
3.A列に元の値をコピペする
    • good
    • 0

ああ。

もう一つアドバイス。
A列の値が上から順番に並んでいる数値だった場合は、ROW関数だけでOK。

例えば、A1セルに「1」を、A2セルには「2」を…A10セルには「10」を表示させたいなら
 =ROW()
だけでOK。
    • good
    • 0

A列に表示する値を別のシートに一覧作成しておく。


そしてA列のセルにROW関数を使った参照をさせる。

例えば、Sheet2のA列の表示させたい行に値を記述したのちに、
並べ替えを行うシートのA列に
 =INDIRECT("Sheet2!A" & ROW())
のような数式を入力する。
(この数式が入力されたセルがA2セルなら、Sheet2のA2セルを参照する)

ROW関数は括弧の中にセル番地を指定しないと、記述されているセルの行番号を返してきます。
ですので、行の位置が変わってしまっても、その行に対応する値を拾わせることができます。

また、
 =INDIRECT("Sheet2!A" & ROW()-2 )
 =INDIRECT("Sheet2!A" & ROW()+5 )
のようにROW関数が返す値に足し算引き算をして、行方向にオフセットを設けることもできます。


・・・余談・・・

INDIRECT関数ではなく、OFFSET関数でも良いんだけど、
この方がどこを参照しているのか分かりやすい。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング