重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

画像のような表についてですが、A2:M10までの範囲のセルの数値を1~10(連続して)20~というように、数式などでタテ一列に並びかえるような方法を探しています。
1/2/・・・10/20/21・・・
数値は最大200までで、範囲の空欄には数式により""が入力されています。
申し訳ありませんが、お知恵をお借りできませんせでしょうか。
※A列の数字(101~)は見出しのため並び替え対象ではありません。

「飛び番になっている表の中の数字を昇順に並」の質問画像

質問者からの補足コメント

  • ご指摘いただいた通り、B2:M10が正当でした。混乱させてしまい申し訳ありません。お詫びして訂正します。

      補足日時:2020/01/28 09:57

A 回答 (4件)

こんにちは



いまいちよくわからないところがいろいろあります。
・ご提示の図ではB~G列が非表示ですが、ご指定の範囲「A2:M10」には「B2:G10」が含まれるけれどこの範囲は対象なのか否か。
・「A2:M10までの範囲のセルの数値を~並びかえる」としているけれど、一方で「A列の数字は並び替え対象ではありません」となっているので、結局A列は含まれるのか含まれないのか。
・もし、A列が含まれない場合は、対象範囲は「B2:M10」なのか「H2:M10」なのか
・「数式などでタテ一列に並びかえるような方法」とあるが、一般に「並び替え」というとデータそのものを(同じ範囲内で)並び替えることを意味するが、「タテ一列」とは一体どのセル範囲を意味しているのか?
あるいは、「並べ替えた結果を別のセル範囲(縦一列)の表示したい」という意味なのだろうか?


不明点は勝手に解釈して、
 『H2:M10の範囲にある数値を、別のセル範囲に昇順に表示したい』
ということとしてみました。

1)H2:M10の範囲にエラー値が含まれないことが保証されている場合
昇順に表示したい最初のセルに
 =IFERROR(SMALL($H$2:$M$10,ROW(A1)),"")
の式を入れ、必要な範囲まで下方にフィルコピー(最大54セル分)

2)一般化した場合(エラー値が含まれるかもしれない場合)
昇順に表示したい最初のセルに
 =IFERROR(AGGREGATE(15,6,$H$2:$M$10,ROW(A1)),"")
の式を入れ、必要な範囲まで下方にフィルコピー(最大54セル分)


※ かなりの当てずっぽうなので、外れていてもご容赦願います。
    • good
    • 0
この回答へのお礼

fujillin様。いつもご教授有難うございます。分かり難い質問で本当にすみません。ご指摘・解釈いただいた通りです。本当に有難うございます。

お礼日時:2020/01/28 10:12

んーと。


どの列の値を基準に並べ替えたいの?

H列なら素直にH列を並べ替えの基準にすればいい。
H列またはH列のセル(H1)を選択して「並べ替え」から「昇順」ですよ。
これでなにか問題があるのであれば、何が問題なのかを「補足」してください。
…なんか、ふつーに並べ替えるだけのような気がしてならないんだ。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。

お礼日時:2020/01/28 10:11

A2:M10までの範囲のセル ⇒ B2:M10までの範囲のセル  ?


small関数では
「飛び番になっている表の中の数字を昇順に並」の回答画像2
    • good
    • 0
この回答へのお礼

分かり難い質問で申し訳ありませんでした。ご回答いただき有難うございます。

お礼日時:2020/01/28 10:11

少なくともこれを並び替えとはいいませんね。


データの取得と変換機能で B:M列を[列のピボット解除]すれば
いいです。「""」を取り除くのも一緒にやってしまえばいいで
しょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。列のピボット解除、初めて聞きました。浅い知識と不明瞭な質問でご迷惑をお掛けしました。
本当に有難うございます。

お礼日時:2020/01/28 10:11

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