Excelで、下記表(例)に入力された数字を上から順に関数を用いて隣のB列に整列させたいです。
・例
A1:A60の表があります。
※以下A列に入力された数字とします
1 空白
2 20
3 空白
4 15
5 25
・(省略、この間空白と考えて下さい)
・
・
59 10
60 空白
上記表(例)は、A2に20,A4に15,A5に25,A59に10それ以外は空白を表します。
上記表のセル内数字は全て手入力とします。
全てのセルが空白の場合もあります。
B列はB1:B5の5行です。
この入力された数字を関数を用いて、B列に上から順にB1に20,B2に15,B3に25,B4に10,B5は空白となるように整列させたいです。
B列セル結果は他シートに参照されますのでセルはロックを掛けています。
上記のことからデータの並べ替えも使えませんし昇降順でもありません。
上から順に整列させた数字を、B1:B5の5行内で上位5まで表示させます。
A列の行数が多いのでif関数も使えません。
なお、上記質問内に不明な点がありましたら補足させて頂きます。
以上、宜しくお願いします。
No.1ベストアンサー
- 回答日時:
一例です。
B1に以下の関数を入力、入力完了時にshift+ctrl+enterキーを同時押下し、B1セルをB5セルまでコピーして下さい。
=IF(COUNTIF($A$1:$A$60,"<>")>=ROW(A1),INDEX($A$1:$A$60,SMALL(IF($A$1:$A$60<>"",ROW($A$1:$A$60),999),ROW(A1))),"")
回答有難うございます。
早速試させて頂いたところ、上手く使用することが出来ました。
今回は有難うございます。
◎なお、今回は全て良回答ですので、回答順に評価を付けさせて頂きます。
No.2
- 回答日時:
こんばんは!
横からお邪魔します。
結果としてNo.1さんと重複してしまいますが・・・
こちらも配列数式になりますので
この画面から数式をコピー&ペーストしただけではエラーになると思います。
B1セルに↓の数式を貼り付け後、F2キーを押すか、数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrl+Enterキーで確定してみてください。
数式の前後に{ }マークが入り配列数式になります。
B2セルは
=IF(COUNTA($A$1:$A$60)<ROW(A1),"",INDEX($A$1:$A$60,SMALL(IF($A$1:$A$60<>"",ROW($1:$60)),ROW(A1))))
として、Shift+Ctrl+Enterキーで確定です。
これをB5セルまでオートフィルでコピーします。
今回はA列が文字列・数値どちらでも対応できるようにしましたが、
もし数値のみなら
=IF(COUNT($A$1:$A$60)<ROW(A1),"",INDEX($A$1:$A$60,SMALL(IF($A$1:$A$60<>"",ROW($1:$60)),ROW(A1))))
でもOKだと思います。
以上、長々と失礼しました。m(__)m
回答有難うございます。
配列式は以前試したことがありましたが、上手く出来なかったので諦めておりました。
上記をそのまま使用させて頂こうと思います。
有難うございました。
No.3
- 回答日時:
》 A列の行数が多いのでif関数も使えません
その理屈が理解できません。説明してください。
A B C D
1 20
2 20 15 2
3 25
4 15 10 4
5 25 5
… … …
59 10 59
60
D1: =IF(A1="","",ROW())
此れをズズーッと下方にセル D60 までドラッグ&ペースト
B1: =IF(ISERROR(SMALL(D$1:D$60,ROW(A1))),"",INDEX(A$1:A$60,SMALL(D$1:D$60,ROW(A1))))
此れをズズーッと下方にセル B5 までドラッグ&ペースト
早速の回答有難うございます。
ROW()関数の使い方も解らず、if関数と組み合わせる事が思い付かなかったもので、「使えません」という表現になってしまいました。
mike_gさまのをそのまま貼り付けることで、目的の値を得ることが出来ました。
今回は有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報