[[20090210173735]] 『データの入力規則について』(パンパン) ページの最後に飛ぶ

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

 

『データの入力規則について』(パンパン)
 入力規則について教えていただきたいのですが、
セルに設定で入力値の種類(A)→「リスト」、
元の値(S)に「1,2,3,4」と入力して通常通りリスト選択及び直接入力できるのですが、
セルの書式設定でユーザー定義→種類(T)に「##"日"」とした場合、
リスト選択のみで直接入力はできなくなるのですが、直接入力も出来るようにはならないのでしょうか、よろしくお願いいたします。

 ほかにも設定項目がありますよ よく見ましょう

 設定を「注意」にしないで通常どおりでのお話です、
何故なら、リストから「1」を選ぶのとキーボードから「1」を入力するのは違うとの認識なのですか、
私は同じとの認識での質問なのですが、要するにユーザー定義する前はリスト選択及び直接入力ができるのに?
「ほかにも設定項目がありますよ よく見ましょう」の意味が理解できません申し訳ありません。
(パンパン)


 ユーザー定義→種類(T)に「##"日"」とした場合
これには関係ないですよ。
セルに設定で入力値の種類(A)→「リスト」、以外に

 ほかにも設定項目がありますよ よく見ましょう


 ですから、わかりません?
入力規則に「入力値の種類(A)」と「元の値(S)」を入力しているのですから。
(パンパン)

 Excel2000ですが、確かにおっしゃる通りになりますね。
 元の値を「1日,2日,3日」とするとキーボードからも入力できましたよ。
 セルは右揃えにしておけばいいでしょう。

 直接入力は数値、リストから選択は文字列になりますが。

 (えいさ)


 直接入力は数値、リストから選択は文字列になりますが。???
リストから選択でも設定次第ですうちになりますよ

 データ 入力規則 入力時メッセイジ エラーメッセイジ 等 ありませんか

 元の値を、セルに書き出しておき、
 =$F$1:$F$3 のようにすると 
 キーボードからも入力できました。

 ちなみにユーザー定義は #"日" とか 0"日" でいいのでは。

 (えいさ)


 名無しさんは実際に試していますか?
 リストで「1,2,3」としている場合に通常はキーボードから「1」と入力してもOKなはずが「表示形式」で
 「#"日"」とするとキーボードから「1」と入力してもはじかれるということですよ。
 リスト外の入力を許可したい、という話ではないですよ。
 (もっとも名無しの書き込みが全部同じ人かどうかは不明ですけどね)
 (独覚)

 解ってもらえないでしょうか(独覚)さんの言われるとおりです。
セルに入力するのは数字です、具体的に説明します。
セルA1に「2009」ユーザー定義で####"年"
セルB1に「1」ユーザー定義で##"月"
セルC1に「31」ユーザー定義で##"日"
セルD1に=date(A1,B1,C1)ユーザー定義で(aaa)にして
表示されるのが下記の通りにしたいのですが。
  A    B   C     D
2009年  1月  31日 (土)
あくまでも入力は2009,1,31のように半角数字でリスト選択もしくは直接入力がしたいのです、
何回も申し上げますがユーザー定義で##"日"に設定するとリスト選択のみで直接入力できないのは何故かと云うことです。
(パンパン)

 で、元の値をセル参照にするやり方ではダメなんですか?
 何回も申し上げますが、ユーザー定義は 0"年"、0"月"、0"日" でいいのでは?

 (えいさ)


 えいささん申し訳ありません、セル参照は考えていませんでした、
何故ならセルの何処かにデータを入れて置かなければいけないので、
私的にスマートではないとの思いがあり、やっていなかったことと、セル参照も同じことと思っていましたから、
それと「0"年"」も「##"年"」も同じだと考えていましたから、結果同じだと思いますが何処か違うのでしょうか。
それでやはり「元の値」に直接書き込んではセルの直接入力とリスト選択の両方使えるようには出来ないのですね。
(パンパン)

 >「元の値」に直接書き込んではセルの直接入力と
 >リスト選択の両方使えるようには出来ないのですね。

 いいえ。最初にも書いたようにできないことはありませんよ。
 元の値を 1月,2月,3月,4月,・・・ とし
 ユーザー定義を 0月 にしておけば、キーボードからは数値のみの入力で可能です。

 月や日にちは入力が大変ですが、最初に「1月,」と入力してCtrl+Cでコピーし、
 11回Ctrl+Vを連打すれば、あとは数字部分の変更だけで済みますね。

 既に書いたように、リストから選択した場合は文字列、直接入力した場合は数値ですので、
 > =DATE(A1,B1,C1)
 この式を 
=DATE(LEFT(A1,4),SUBSTITUTE(B1,"月",""),SUBSTITUTE(C1,"日",""))

 にすれば、どちらにも対応できますよ。
 もっと簡単な方法があるのかもしれませんけどね。

 自分なら迷わずシートにリストを作ってセル参照にします。
 INDIRECT関数を使えば、別シートでも参照可能なのはご存知ですか?

 ####"年" にしても、同じことなら 0"年"や #"年" でいいと思うんですが、
 それにも何かこだわりがあるんですか?

 (えいさ)


 本題とは関係ありませんが…
 >INDIRECT関数を使えば、別シートでも参照可能なのはご存知ですか?
 リスト範囲に「名前」をつけることでも参照可能です。
 (独覚)

 えいささん・独覚さんありがとうございます、
INDIRECT関数は今回考えていません、前記したように私のこだわりでスマートにと、
ユーザー定義を0"年"に変えただけで何故両方の入力ができないのかそれだけを追求したかったからです、
エクセルを使いこなしている人とある程度わかっている人等が混在した中でファイルを配り、
入力してもらうのに日付を文字で入力する人、2009/1/31と入力する人それぞれを統一したい、
またセル参照にすると削除する人等がいるため日付と曜日が違っている人色々有りますので
今回はどうしても元の値入力で解決したかったものですから、
「元の値」に半角で入力しても「元の値」は文字認識とは知りませんでした、半角は数字だと思っていましたから、
ありがとうございました、私の感覚はユーザー定義を変えただけなのに何故がありましたから

 >####"年" にしても、同じことなら 0"年"や #"年" でいいと思うんですが、
 >それにも何かこだわりがあるんですか?

 これはこだわりではなく私の思い込みでユーザー定義で「0000」にすると「1」を入力すると「0001」と表示される。
「####」は「0」を表示しないと思っていましたから、助かります、今後もご助言お願いいたします。
(パンパン)

 どうも誤解があるように思いますので書いておきます。

 >「元の値」に半角で入力しても「元の値」は文字認識とは知りませんでした、
 >半角は数字だと思っていましたから、

 元の値に数字のみで入力されたものを選んだ場合
 書式設定が標準であれば、数値になります。
 セルに「1」を入力すると 数値になるように。

 上記の様に書いておられるのは おそらく、えいささんが書いておられる
 「既に書いたように、リストから選択した場合は文字列」
 この部分を読まれてのことだと思いますが。

 もう一度、「既に書いたように」部分を引用させていただきます。
  ◇ Excel2000ですが、確かにおっしゃる通りになりますね。
  ◇ 元の値を「1日,2日,3日」とするとキーボードからも入力できましたよ。
  ◇ セルは右揃えにしておけばいいでしょう。
  ◇ 
  ◇ 直接入力は数値、リストから選択は文字列になりますが。
  ◇ 
  ◇ (えいさ)
 です。

 >元の値を「1日,2日,3日」とすると
 これは、それぞれが 数値+文字 の文字列ですので
 リストから選択した場合は、文字列の「1日」等が入力されます。
 書式設定が標準のセルに「1日」と入力した場合
 文字列ですよね。

 そして、この様にしておけば、ご希望である
 >キーボードからも入力できましたよ。
 をかなえることができます。
 ただし、この場合は数字の「1」を入力し表示形式で「1日」と変えるわけですから
 セルに入力されたものは 数値です。

 リストから何かを選んだ場合「常に文字列になる」
 のではありませんので、ご注意ください。

 もちろん「そんなこと思ってないよ!!」ってなら 良いのですが。。。

 (HANA)

 リスト選択ですべて文字列とは思って言いませんが
最終的に一番最初に質問したように
何故「リスト選択「」で元の値を「1,2,3」にして直接入力とリスト選択が可能なのに
「ユーザー定義」で「#"月"」にした時に元の値を「1月,2月,3月」にしないとリスト選択のみで直接入力ができないのかのみの疑問になります。
(パンパン)

 訂正:言が多いです。
 リスト選択ですべて文字列とは思っていませんが
最終的に一番最初に質問したように
何故「リスト選択「」で元の値を「1,2,3」にして直接入力とリスト選択が可能なのに
「ユーザー定義」で「#"月"」にした時に元の値を「1月,2月,3月」にしないとリスト選択のみで直接入力ができないのかのみの疑問になります。
(パンパン)


 ん?
 >「元の値」に半角で入力しても「元の値」は文字認識とは知りませんでした
 元の値に数字が設定してある場合
 リストから選択したものがどのような扱いになるかは
 セルの書式設定に依存すると思いますよ。

 現在残っておられる疑問に関しては
 そのような作り
   入力後の表示が入力されている元の値と一致したら許可
 になっているのでしょう。
   (そういえば、オートフィルタも表示形式に左右されますね。)

 たとえば、セルの書式設定を「○;△;×」にして
 入力規則の元の値に「1,-1,0」を設定した場合
 直接入力では
「1(表示が○)」も「○(表示も○)」も入力できません。
  (もちろん、-1も0も入力不可ですが。)
 これは入力後の表示とリストの元の値が一致しないパターンです。NGです。

 しかし、元の値に「○,△,×」とした場合
 「1」も「○」も入力できます。
 こちらは、入力後の表示とリストの元の値が一致するパターンです。OKです。

 たとえば、セルの書式設定を「@様」
 入力規則の元の値に「A様,B様」と設定した場合
 (リストから選択すると A様様 となってしまいますが)
 直接入力で「A」と入力し A様 の表示になるのは 入力可能です。
 「A様」と入力し A様様 の表示になるのは 駄目です。

 あくまでも元の値に、直接候補を指定している場合に限りますが。

 (HANA)

 HANAさんありがとうございます、以下の説明がわかりませんけど

「たとえば、セルの書式設定を「○;△;×」にして

 入力規則の元の値に「1,-1,0」を設定した場合
 直接入力では
「1(表示が○)」も「○(表示も○)」も入力できません。
  (もちろん、-1も0も入力不可ですが。)
 これは入力後の表示とリストの元の値が一致しないパターンです。NGです。

 しかし、元の値に「○,△,×」とした場合
 「1」も「○」も入力できます。
 こちらは、入力後の表示とリストの元の値が一致するパターンです。OKです。」

私の疑問は、何故「リスト選択「」で元の値を「1,2,3」にして直接入力とリスト選択が可能なのに
「ユーザー定義」で「#"月"」にした時に元の値を「1月,2月,3月」にしないとリスト選択のみで直接入力ができないのかのみの疑問になります。
(パンパン)


 その部分は、説明というより事実の確認です。
 それらのことから、
 「そのような作りになっている」
 事が推測されます。

 入力後の表示とリストの元の値が一致しない
  場合は、入力できず
 入力後の表示とリストの元の値が一致する
  場合は、入力値にかかわらず入力できますよね。

 (HANA)


わかりました、ありがとうございました。(パンパン)

コメント返信:

[ 一覧(最新更新順) ]


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