![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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.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さまのをそのまま貼り付けることで、目的の値を得ることが出来ました。
今回は有難うございました。
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
回答有難うございます。
配列式は以前試したことがありましたが、上手く出来なかったので諦めておりました。
上記をそのまま使用させて頂こうと思います。
有難うございました。
お探しの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ランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報