プロが教える店舗&オフィスのセキュリティ対策術

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関数も使えません。

なお、上記質問内に不明な点がありましたら補足させて頂きます。

以上、宜しくお願いします。

A 回答 (3件)

一例です。


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))),"")
    • good
    • 0
この回答へのお礼

回答有難うございます。

早速試させて頂いたところ、上手く使用することが出来ました。

今回は有難うございます。


◎なお、今回は全て良回答ですので、回答順に評価を付けさせて頂きます。

お礼日時:2009/12/17 08:47

》 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 までドラッグ&ペースト
    • good
    • 0
この回答へのお礼

早速の回答有難うございます。

ROW()関数の使い方も解らず、if関数と組み合わせる事が思い付かなかったもので、「使えません」という表現になってしまいました。

mike_gさまのをそのまま貼り付けることで、目的の値を得ることが出来ました。

今回は有難うございました。

お礼日時:2009/12/17 08:43

こんばんは!


横からお邪魔します。

結果として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
    • good
    • 0
この回答へのお礼

回答有難うございます。

配列式は以前試したことがありましたが、上手く出来なかったので諦めておりました。

上記をそのまま使用させて頂こうと思います。

有難うございました。

お礼日時:2009/12/17 08:45

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