[[20040821022001]] 『リストの先頭から表示させたいです』(ぶー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『リストの先頭から表示させたいです』(ぶー)

初心者マークのおばさんに教えて下さい_(._.)_

複数の列にそれぞれ入力規制でリストから選択する様には出来たのですが、表示されるリストが先頭から表示されるものと、

終わりの方から表示されるものが出来てしまいました。
何がいけないのでしょうか?

どの列もリストの先頭から表示させたいのですが・・どのリストも20行位あります。


 下から表示されるリストに空白のデータが入っていませんか?
 (川野鮎太郎)


はい、これから先、項目が増える可能性が有ると思って空白もリストの範囲にいれてあります。 

空白がいけないのでしょうか?  (ぶー)


 さきほど試したときは、空白行を含んでいたら、最終行に空白が出て下から表示されてたんですけど、
 今、再度試したら問題なく上から表示されますね(^_^A;
 今使ってる私のPCはエクセルが不安定なので、確実なところは検証できないかもしれません。m(_ _)m 
 (川野鮎太郎)

川野さま

ありがとうございます。

私も試してみましたが、空白があっても先頭から表示される(表示されるリストに空白が出ない)ものもあれば、

空白も含めて終わりから表示されるものもあります。
エクセルって気まぐれなのかなぁ(>_<)


何度もごめんなさい

結局先頭から表示する手立てはないのでしょうか?  (ぶー)


 以下のようにしてはどうでしょうか。
   A
 1 北海道
 2 東京
 3 大阪
 4 福岡
 5 沖縄
 6 END
 リストの入っているセルがA列として、最終のセルに適当な文字(ここではEND)を入れ、
 A1からA6を選択し挿入−名前−定義で適当な名前(リストなど)にしてOK
 入力規則を設定したいセルで、定義−入力規則−設定−リスト−元の値に =リストを入れOK
 あとで追加したい場合には、A5とA6の間に挿入−セル−下方向にシフト
 これで自動的に範囲が拡大されます。
 (川野鮎太郎)

”=”を全角で入力していた為、リストが「=リスト」としか出てこなくて悩みましたが、出来ました!!\(-o-)/

ありがとうございました。   また何かあったらよろしくお願いします  (ぶー)


 解決済みのようですが・・・
元の値=OFFSET(A1,0,0,COUNTA(A1:A100))
とか
空白セルに「スペース」を入れておく
というのも使えるかも・・・ (Hatch)

 そこまでするならいっそのこと
=OFFSET($A$1,0,0,COUNTA($A:$A))
絶対参照にしたほうが無難。
(KAMIYA)

 いろんな方法があるようですが、初めのほうにあった空白まで表示されることが、
 その度に変わる件で、ある法則(大げさですね)を見つけましたので参考までに。
 リストにしたいデータがA1〜A10まで入っていて、B1に入力規則を入れ元の値で=A1:A100に設定した場合、

 1.新規Bookを作成して上記の設定をした場合にはリストには空白は出てこない。

 2.A列ではなくても11行目以下に何がしかのデータが入っている場合にリストにその行数までの空白が表示される。
  仮にC15に値が入っていたらリストには5行の空白が出てくる。

 2.上記C15の値をクリアしても、保存されるまでは5行の空白は無くならない。

 3.保存して、再度見ると空白行は無くなっている。

 4.再度、11行目以下(D20など)に値を入れると、リストには10行の空白が出来る。

 5.上記2・3の条件で繰り返される。

 ※最終セルが上書き保存されるまで変わらないのと同じような仕組みのようですね。
 なんかスッキリしました。
 (川野鮎太郎)

 空白セルが含まれる件については下記の情報がありました。
http://support.microsoft.com/default.aspx?scid=kb;ja;415969&Product=xlw2kINT
順番が入れ替わる件についても情報があったと思ったのですが、
見つかりませんでした。
(KAMIYA)

 なるほど、やはり既知の問題だったのですね。
 サポート情報によるとexcel97、2000の問題みたいですが、その他のバージョンでの挙動はどうなんだろうと少し気になります。(^_^A;
 KAMIYAさん、情報ありがとうございました。m(_ _)m
 (川野鮎太郎)

勉強させて頂けて、ありがとうございます。
 仕組みを体験?してみて、「ホー」って一人で感動してます。

で、=OFFSET($A$1,0,0,COUNTA($A:$A))

と、=OFFSET(A1,0,0,COUNTA(A1:A100))

と、別シートにリストを作って"A1"のところに名前を定義してニヤニヤです。

・・リストの途中に空白セルが存在することは無いのでしょうが、
空白が一個あると空白が先頭になって、
リストの最後の値が表示されなくて、
空白が三個あると最後から三つ表示されないのですね。

これは、"COUNTA"っていう関数のせいなんでしょうか?
はずかしい質問でごめんなさい。   (ぶー)


 そうですがそれだけではなく、OFFSET関数との併用ために、COUNTAでA列の空白以外のセルを数えて
 A1を含めてCOUNTした行数をリスト表示するという関数だからです。
 仮にA1〜A10までにデータがあり、途中に1つ空白があった場合COUNTAが9となります。
 そしてOFFSET関数で9行までをリスト表示するってことで、最後のA10の内容が表示されません。
 下手な説明ですがお解かりになりましたでしょうか。
 (川野鮎太郎)

はい!理解できました(^.^)V
・・少し時間はかかりましたが・・ありがとうございました。 (ぶー)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.