人生のプチ美学を教えてください!!

下記のような表で1月で0を除いて昇順上から532と並べ替えが出来ますでしょうか
また、元の表に戻して2月での0を除いて65と並べ替えしたいのですが教えてください
  あ 1月計 あ 2月迄累計

あ 0  0  5    5
い 2  2  4    6
う 5  5  0    5
え 3  3  2    5
お 5  5  1    6
か 0  0  0    0

A 回答 (3件)

>昇順上から532と並べ


532は降順と言うはずです。
●数字セル列を降順にならべたら、0は下部にあつまるから丁度よい。
●数字セル列を昇順にならべたら0群は上に集まり固まります。これがいやなら(1)便宜上、一旦0を大きい値に置換しソートしまた元(0)に戻す置換をする。(2)降順にソートし、0群より上の(1以上の部分)を範囲指定して昇順にソートすれば良いと思います。
    • good
    • 0

 1月計の列に、=IF(SUM(「"あ"の行の、1月の各データ範囲」)=0,"",SUM((「"あ"の行の、1月の各データ範囲」))と、式を変更して入力します。


 1月計の列には、範囲内に正の数値が入力されていれば合計値が出力され、合計値が0の場合は表示されなくなります。
 その式を"か"の行までコピーします。
 同様に2月計の列にも、=IF(SUM(「"あ"の行の、2月の各データ範囲」)=0,"",SUM((「"あ"の行の、2月の各データ範囲」))と式を入れ、最下行までコピーしておきます。
 2月迄累計の列には、=IF(SUM(「1月計」のセル番地,「2月計」のセル番地)=0,"",SUM(「1月計」のセル番地,「2月計」のセル番地))の式を入れます。これも最下行までコピーしておきます。

 大きい範囲の場合、範囲をすぐ選べるようにしておきましょう。
 項目、データが入った表のセル範囲を選択して、メニューの中の挿入→名前→定義を選択し、つけたい範囲名をつけ、OKとしておきます。
 もしくは、A1セルを選択しているときにA1と表示されている部分を名前ボックスといいますが、セル範囲を選択しておき、名前ボックスの右の▼印をクリックして、反転した箇所につけたい範囲名をつけても、上記同様に範囲名をつけられます。

 あとは、並べ替えを行いたい範囲を名前ボックスで選択し、メニューのデータ→並べ替え→表示されたダイアログボックスの下の方の「範囲の先頭行」をタイトル行として選択した上で、最優先されるキーに、1月計、2月迄累計など並び替えしたい項目を選択し、昇順としてOKすれば、0の行を後回しにして値の小さい順に並び替えてくれます。
 ただし、降順の場合は上記の式では空白が先頭に来てしまいます。
 そこで、上記式の、「""」の部分全てを、「"0"」と置き換えた上で、範囲指定、並び替えを指定してOKボタンを押すと、「並び替えの前に」というダイアログボックスが出て、「数値として見えるものは全て数値として並び替えを行う」か、「数値とテキスト形式の数値を分けて並び替えを行う」のどちらか選ばせられるので、降順の場合は前者を、昇順の場合は後者を選ぶと、0をとにかく後回しにした並び替えができます。ただし、これはExcel2002で確かめた結果ですので、以前のバージョンではこのようにならないかもしれません。

 式入力後の、上記操作が煩雑で面倒とお考えであれば、マクロを登録して操作を自動化できます。
 ツール→マクロ→マクロの記録を選択し、出てきたダイアログボックスのマクロ名にあとでわかりやすい名前(昇順ソート、降順ソート等)を入力し、OKします。
 あとは範囲の指定、適した並び替えの操作を行い、終了した時点でマクロの記録ボタンを停止させます。
 昇順並び替え、降順並び替えの操作をそれぞれ記録した後、ツール→マクロ→マクロを選択し、操作したい方のマクロを選んでOKすれば、煩雑な操作必要なしに並び替えが行えます。

 元の表に戻すには、項目列の覧が元々番号順、50音順ならその列を並び替え条件として並び替えを行えば済みますが、得てして順にならんでいるものではありません。その場合は、並び替えを行う前に、項目名の前に新たに列を挿入して、そこに番号を付けておくのがいいと思います。その上で、並び替えするための範囲をその番号を含めて選択して登録し、並び替えを行った後、番号で並び替えさせれば元の表に戻せます。
 
    • good
    • 0

上から5->3->2の順で並べるのは「降順」じゃないでしょうか?

    • good
    • 0

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

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


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