[[20100310154756]] 『ドロップダウンリストのエラー(文字列が長すぎる』(らむ) ページの最後に飛ぶ

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

 

『ドロップダウンリストのエラー(文字列が長すぎる?)』(らむ)

はじめまして。
Windows2000上で、Excel97を利用しています。
こちらのサイトの「ドロップダウンリスト(入力規則)について」
http://www.kenzo30.com/ex_kisopoint/onepoint_sonota3.htm#Q4

を参考に、INDIRECT関数と、名前定義を利用した複数のドロップダウンリストを
含む表を作ろうとしています。

例として

ア行:あ か さ た な

カ行:か き く け こ

というリストに対し、「ア行 カ行」に「タイトル」という名前を定義、
「あ〜」「か〜」にもそれぞれ名前を定義して、A1のセルに、「ア行」もしくは「カ行」を表示。

A1を参照してA2に、「ア行」なら、「あ〜」のリストをプルダウン、「カ行」を選べば「か〜」がプルダウンできるようにしました。

ところが「ア行」→「あ〜」は問題ないのですが、「カ行」を選択すると、プルダウンリストが開きません(矢印をクリックしてもプルダウンしない)

※これは、あくまでも例で、実際に上記のリストを作ると、問題なく実行できます。

できない箇所の特徴を考えてみて(文字数のリストをあれこれ作ってみました)、A1のセルの文字列が全角14文字以上」ということのような気がするのです。

飛躍した考えかもしれませんが、INDIRECT関数か名前定義の利用の中で、文字数の制限などあるでしょうか?

また、私が書いた中で他に考えられる原因があるならば、教えていただけますと幸いです。


 >A1を参照してA2に、
 >「ア行」なら、「あ〜」のリストをプルダウン、
 >「カ行」を選べば「か〜」がプルダウンできるようにしました。 
 >ところが「ア行」→「あ〜」は問題ないのですが、
 >「カ行」を選択すると、プルダウンリストが開きません(矢印をクリックしてもプルダウンしない) 
 >※これは、あくまでも例で、実際に上記のリストを作ると、問題なく実行できます。 

 出来るんだか、出来ないんだかよく分からないです。

 >INDIRECT関数か名前定義の利用の中で、文字数の制限などあるでしょうか? 

 有るとは思いますが、いままでのお話程度で問題になるような事はないと思います。

 >また、私が書いた中で他に考えられる原因があるならば、教えていただけますと幸いです。 

 何が問題なのか良く分からないんですけど。。。
 「出来なかったこと」だけに絞って記述して頂けませんか?

 (半平太) 2010/03/10 17:19

半平太 さん レス、ありがとうございます。

できなかったこと、ですが(単語の使い方に不適切な点があると思います。)

条件(隣のセルの内容、こちらも入力規則を適用してリストから選ぶ形にしています)によって

表示内容を変えるドロップダウンリストを作ったのですが

「条件」によっては、ドロップダウンできない場合があるのです。

この書き方でわかるでしょうか?

具体的な書き方をすると

セルA1に、入力規則「=名前をつけたリスト」を設定、セルA2に、入力規則「=INDIRECT(A1)」を設定しています。

ですが、セルA1の内容によって、セルA2のリストが表示される場合と、されない場合があります。

ドロップダウンリストの範囲選択が間違っているわけではなさそうです。

要領を得ない書き方になっていると思いますが・・・突っ込んでいただけると助かります。

(らむ)


 ドロップダウンリストが上手く行かない原因が
  「文字列が長すぎる?」
  「全角14文字以上はだめ?」
 と思われたのでしたら、以下の様な事を試してみられてはどうでしょう。

	[A]	[B]
[1]	ああ・・	いい・・
[2]	1	2
[3]	2	4
[4]	3	6
[5]	4	8
[6]	5	10
[7]		
[8]		
[9]	ああ・・	   ▼
[10]		
[11]		
 A1セルに =REPT("あ",20)
 B1セルに =REPT("い",20)
 A2セルに =ROW(A1)*COLUMN(A1) を入れてB6迄フィルドラッグ。

 A1:B6を選択して 名前の作成→上端行 で、名前を定義。

 A9セルに入力規則で リスト =A1:B1
 B9セルに入力規則で リスト =INDIRECT(A9)

 A1,B1セルに入れた数式で、全角文字20文字の文字列が出来ていますので
 A9セルで選択出来るのは、全角14文字以上の文字列と言う事に成ります。
 B9セルのドロップダウンリストは正しい範囲を参照していませんか?
   こちらでは大丈夫なのですが。(Excel2002)

 これが上手く行くなら、原因は他の所に有りそうです。
 「この文字列なら上手く行くけど、この文字列は上手く行かない」
 と言う具体的な例をあげていただくのが良いと思います。

 上手く行かないなら、=LEN(A1) と =LEN(A9) で
 それぞれ文字数を数えて比べてみたり
 =A1=A9 で内容が同じかどうか確認をしてみて下さい。
 バージョンによって、何か制限が有るかもしれません。

 因みに、この掲示板の使い方ですが。。。
 コメント記入時に、先頭に半角スペースを入れて下さい。
_←この位置に半角スペース。
 空行を挟まなくても、改行した位置で表示されるように成ります。

 (HANA)

 HANAさん、アドバイスありがとうございます。
 早速試してみました。
 結果的には、うまくいきませんでした。一応、ご報告です。
 ちなみに、=LEN(A1)と=LEN(A9)は一致していました。=A1=A9も同様です。
 B9セルの、入力規則の定義の際に「元の値はエラーと判断されます。続けますか?」との
 メッセージが出て、そのまま続行しましたが、やはりリストが動きませんでした。
 文字の桁数を4桁まで減らして試しましたが、それでもだめでした。
 試しに、現在問題なく動いているリストを、上記のやり方で設定してみたところ、動きました。
 
「ドロップダウンリスト(入力規則)について」
 http://www.kenzo30.com/ex_kisopoint/onepoint_sonota3.htm#Q4 
 のページの例にならって
 A1:B1セルに「上端行」と名前を定義
 A2:A6セルに「ア行」、B2:B6セルに「イ行」と名前を定義
 A9セルに入力規則で リスト =上端部
 B9セルに入力規則で リスト =INDIRECT(A9)
 も、やってみました。(今まで箱のやり方でやっていたので)
 やはり、プルダウンしませんでした。桁数を減らしても同様。

 別のパソコン(OSはWindowsXP)に入っているExcel2002で試してみました。
 入力規則を設定すると
 「元の値はエラーと判断されます。続けますか?」のメッセージ。
 こちらでも、プルダウンできませんでした。
 試しに桁数を4桁まで減らしてやってみましたが、やはりプルダウンしません。
 まったくできないのであれば、私のやり方が、どこか想定しない場所で何か間違っているんでしょうが・・・
 なぜか私の作ったおふざけのリストだけはプルダウンリストとして使えます
 (うちで飼ってるペットの種類と名前の一覧です)
 犬 ぽち 猫 たま みけ のような。
 これは動作するのに、仕事で使う長い文字列のデータは動かなかったので文字数が原因かと思ったんでした。そういう問題ではなさそうですね。
 もうちょっと、いろいろ試して検証してみます。
(らむ)

 たとえば「名前」に使える文字は限られているため
 >A1:B1セルに「上端行」と名前を定義
 の段階でセルに入力されている文字内に名前に使えない文字が含まれていたり、先頭文字が数値だったり、
 文字列中にスペースが含まれている場合、セルに入力されている文字と 設定される文字が異なってきます。

 例
  セル内の文字が「1番」「2番」→設定される名前は「_1番」「_2番」

 実際に使っているデータを示すことはできませんか?

 追記
  ちょっと読み違いをしていました(汗

 >A1:B1セルに「上端行」と名前を定義
 の段階でと書きましたが手動でつける場合ではなく「挿入」―「名前」―「作成」でExcelに名前定義をさせる場合でした。

 手動でつけている場合は使えない文字で名前をつけようとするとその段階でエラーが出ますから
 すぐに気付くかと。
 (独覚)


 >ですが、セルA1の内容によって、セルA2のリストが表示される場合と、されない場合があります。 
 問題はここですね。

 A1の文字(例えば、"犬猫病院" だとします)と同じ名前定義が無いだけだと思います。

 試しに、入力規則ではなく、どこかのセルに数式 =犬猫病院 とダブルクォーテーションマークなしで入力してみて下さい。

 結果が #NAME? だったら、犬猫病院の名前定義がしてないです。

 そんなハズはない思うのでしたら、よーく見比べてください。似て非なる名前が定義してあると思います。

 (半平太) 2010/03/12 17:15

コメント返信:

[ 一覧(最新更新順) ]


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