エクセルのデータの入力規則での設定

このQ&Aのポイント
  • エクセル2010でアンケート用のファイルを作成し、データの入力規則で「リスト」を指定しています。
  • 通常は「はい」「いいえ」「未定」以外の選択肢は入力できませんが、オートフィルでドラッグすると選択肢が変化してしまう問題があります。
  • この問題を解決するためには、オートフィルのオプションで「セルのコピー」を選択するように対象者に指示するのが効果的です。
回答を見る
  • ベストアンサー

エクセルのデータの入力規則での設定

エクセル2010です。 アンケート用のファイルを作成し、回答欄に、データの入力規則で、「リスト」を指定し、「元の値」を 1-はい,2-いいえ,3-未定 としました。 通常は、この三択以外は入力できないのですが、オートフィルでドラッグされると 1-はい 2-はい 3-はい 4-はい となってしまいます。 もちろんフィルドラッグした人が、オートフィルのオプションで「セルのコピー」を選んでくれたらそうなりませんが、対象者が多いので期待できません。 オートフィルをできない設定にしようかとも思いましたが、設問数が多く、ユーザーの利便性を損ないます。 「はい」、「いいえ」、「未定」と、数字をいれなければいいじゃん!とは当然思いますが、上からの指示でどうしようもありません。 こうならないようにするにはどうすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 1、2、3等の数字の代わりに丸数字 (Excelにおいてセルに「=CHAR(11553)」、「=CHAR(11554)」、「=CHAR(11555)」と入力した際に現れる文字) を使用されては如何でしょうか? 【参考URL】  丸数字 - Wikipedia   http://ja.wikipedia.org/wiki/%E4%B8%B8%E6%95%B0%E5%AD%97  丸数字は、このサイトで表示可能な文字ではないため、サイトのサーバーが勝手に( )付きの数字に変換してしまうのですが、 (1)-はい (2)-いいえ (3)-未定 という様な形式です。

emaxemax
質問者

お礼

丸付きの数字ならオートフィルしても数字が変わらないのですね! これは使えそうです。 ありがとうございました!!

その他の回答 (9)

回答No.10

>……一つのセルで数字の入った選択肢から相手に選択させることが必要なのです。 とりあえずリストの側でどんな工夫をしても、回答用紙におけるオートフィルでの数字の増加を抑える術はありません。なのでリストの内容については、今回のご質問では全く考慮しなくてよいかと思います。 >何故ならば、例では、1-はい,2-いいえ,3-未定 としましたが、実際はもっと別な言葉で、回答上疑問が出る可能性があり、問い合わせがあった場合、「それは一番です」とか「2番です」と答えるマニュアルも出来ているからです。 入力時にオートフィルをしても内容が変化せず、なおかつ数字と結合された文字列が必要ならば、やはり No.9 のように「はい」を入力させて「1-はい」を生成、がベストに思えます。 または No.8さんのように条件付き書式で表示してもいいですが、その場合、セルに入力されている値には数字が含まれず、表示で見せているだけの状態です。ですからテキスト形式で保存(拡張子「.txt」)とか PDF などに印刷でもしない限り、数字の部分はテキストとして残りません。 あるいは No.7 のようにコメントを添えるときに、オートフィル禁止ではなく「オートフィルを使う場合は Ctrl キーを押しながら行ってください」と伝えたり、No.7 の数式あるいは置換の機能を使って質問者さんが後から修正することになってしまいそうです。 申し訳ありませんが、お示しの条件を全てクリアできる方法は、これくらいしか思い付きません。 まあ各ユーザーがマクロを有効にするなら、ドラッグしても次のコードで自動的に修正しますが、そこまでする?というところですね。コードは、ワークシートのタブを右クリックして「コードの表示」で表示された画面に貼ってください。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub '回答欄の列番号が 3(C 列)の場合のみ処理を続行 Dim cell As Range Application.EnableEvents = False For Each cell In Target  If cell.Value Like "*-はい" Then   cell.Value = 1 & "-はい"  ElseIf cell.Value Like "*-いいえ" Then   cell.Value = 2 & "-いいえ"  ElseIf cell.Value Like "*-未定" Then   cell.Value = 3 & "-未定"  End If Next Application.EnableEvents = True End Sub

emaxemax
質問者

お礼

何度もありがとうございます。 今回は、(1)数字(たぶん化けるでしょうね。丸で囲んだ数字です。)で対応することで上司からOKがでました。 > 各ユーザーがマクロを有効にするなら VBAも最初に考えたのですがエクセル2010だと、まず「編集を有効にする」をクリックしてもらい、次に「コンテンツを有効にする」をまたクリックしてもらわなくてはマクロが有効にならないのであきらめました。 回答者が何百人もいるのでとても説明しきれません。 もちろん、集まった回答の集計はマクロでやりますが。

回答No.9

「1-」と「はい」に分けるのは禁止で、なぜか丸数字だと許されるという隠し条件があったのですね。回答というのは難しいものだなと、改めて思いました。 では、「はい」を入力させて、別の列に「1-はい」が表示されるという方式だったら、どうなのでしょう?次式とかでできます。 =match(a1,{"はい","いいえ","未定"},)&"-"&a1 あるいは =choose(match(a1,{"はい","いいえ","未定"},),"1-はい","2-いいえ","3-未定") あるいは =hlookup(a1,{"はい","いいえ","未定";"1-はい","2-いいえ","3-未定"},2,)

emaxemax
質問者

お礼

> 「1-」と「はい」に分けるのは禁止で、なぜか丸数字だと許されるという隠し条件 後出しになってしまったようで申し訳ありません。 ただ、丸数字だと許されるかどうかはまだわかりませんが、休み明けに上司に理由を言ってそのように提案してみようと思ったのです。 上司からは、口頭で「必ず選択肢の頭に、いち、に、さんと数字をふること」という指定なのです。 そして他の方へのお礼でも書きましたが、一つのセルで数字の入った選択肢から相手に選択させることが必要なのです。 何故ならば、例では、1-はい,2-いいえ,3-未定 としましたが、実際はもっと別な言葉で、回答上疑問が出る可能性があり、問い合わせがあった場合、「それは一番です」とか「2番です」と答えるマニュアルも出来ているからです。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

エクセル2007以降のバージョンなら条件付き書式で対応するのが簡単かもしれません。 入力規則のリストは「はい」「いいえ」「未定」の3つを設定しておき、ホームタブの条件付き書式から「指定の値を含むセルだけを書式設定」を選択し、セルの値が「次の値に等しい」にして「はい」を入力し、「書式」から表示形式タブで「ユーザー定義」を選択し、値の欄に「"1-"@」と入力します。 同様に、「いいえ」に対しても新規ルールで条件付き書式を設定し、値の欄に「"2-"@」と設定します。

emaxemax
質問者

お礼

ありがとうございます。

回答No.7

「数字が変化することを避けるため、オートフィルでの入力はしないでください」との注意書きを付す。理由も書いといてあげるのが親切ですね。オートフィルができる人は、だいたいオートフィルという用語も知っていると思われます。 全員が入力し終えたら、 =if(countif(a1,"*-はい"),"1-はい",)&if(countif(a1,"*-いいえ"),"2-いいえ",)&if(countif(a1,"*-未定"),"3-未定",) といった数式で質問者さんが数字を正しく修正し、回答欄に値複写するとか。 No.1さんのおっしゃるように、オートフィルしづらい回答用紙にしておくことのも一つの方法と思います。まあアンケート結果の集計の手間が少し増えるということもあるし、特にお勧めではありませんが。

emaxemax
質問者

お礼

ありがとうございます。

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.6

より堅い方法として、Intersectを使った例。 Private Sub Worksheet_Change(ByVal Target As Range)   Const SLIST = "1-はい,2-いいえ,3-未定"   Const SREF = "C2:C51,F2:F51" ' 解答欄をA1形式Addressで指定   Dim r As Range   If Intersect(Target, Range(SREF)) Is Nothing Then Exit Sub   For Each r In Intersect(Target, Range(SREF))     If InStr(SLIST, r.Value) = 0 Then       MsgBox "オートフィルしないでコピーしてね"       Application.Undo ' ↑← 先にUndoするのもあり お好みで       Exit For     End If   Next r End Sub  PCスペックによっては通常の入力時にも微かに反応が遅いので  入力速い人には多少ストレスがかかるかも。  その代り、解答欄を絶対的に指定するのが容易。 ということで基本的には同じです。

emaxemax
質問者

お礼

何度もありがとうございます。

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.5

こんにちは。 ひとつ、VBAのイベントを使ったアイディア。 シートモジュールに Private Sub Worksheet_Change(ByVal Target As Range)   Const SLIST = "1-はい,2-いいえ,3-未定"   Dim r As Range   If Target.Column <> 3 Then Exit Sub ' 解答欄の列(例示はC列)を排他指定   If Target.Row < 2 Or Target.Row > 51 Then Exit Sub ' 解答欄の行(例示は2:51)を排他指定   For Each r In Target     If InStr(SLIST, r.Value) = 0 Then       MsgBox "オートフィルしないでコピーしてね"       Application.Undo ' ↑← 先にUndoするのもあり お好みで       Exit For     End If   Next r End Sub  普通に入力する人にはストレスなく普通の処理。  オートフィルした人にだけ、コピーをうながすメッセージ。  他、仕様変更の必要なし。 こんなの↑どうでしょう? オートフィルしてもインクリメントしないように設定するのが簡単ですが もしも、その設定をユーザーに変更されても困らないように、、、とか思ったもので。 とりあえず、以上です。

emaxemax
質問者

お礼

ありがとうございます。 VBAも考えたのですが、社内のエクセルが2010に統一されてからは、マクロ付きのファイルをマクロを有効にして使ってもらうのが大変になってしまい、二の足を踏んでおります。 2000のときは、起動時に「マクロを有効にする」を選んでくださいね。と書けばよかったものが、2010では何度もクリックしてもらわなければいけなくなってしまいました。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

もう一つ、数字と、はい・いいえのセルが別でもいいなら逆転(?)発想で 入力規則には「はい、いいえ、未定」にしておいて、その左セルに答えによって「1-」「2-」「3-」と出るようにしておくとか。 (3つくらいならIFでも十分できますよね。) 上司の方がどうしても同じセルでないと駄目!とおっしゃるならできませんが(^_^;)

emaxemax
質問者

お礼

ありがとうございます。 一つのセルで 1-はい,2-いいえ,3-未定 から選択させることが必要なのです。 すみません。

  • sporespore
  • ベストアンサー率30% (430/1408)
回答No.2

メニュー[ツール]-[オプション]をクリック [オプション]ダイアログ-[数式]タブをクリック 「数式オートコンポリート」のチェックマークを外す。

emaxemax
質問者

お礼

オートフィルをさせない方法を質問したのではないのです。 ありがとうございました。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

そもそも、アンケートは一問一答が基本ですので、オートフィルで回答する姿勢が問題でしょう。 アンケートの内容を重視するかユーザーの利便性を優先するかと言えば、やはりアンケートの内容に重きを置きますよね? オートフィルできないようにしておくのが一番ではないでしょうか? 後は、設問ごとに空白行とかを入れておいて、フィルする事に抵抗を与えてみるとか?

emaxemax
質問者

お礼

> そもそも、アンケートは一問一答が基本ですので、オートフィルで回答する姿勢が問題でしょう。 まあ、普通のアンケートならそうなのですが、今回のはちょっと特殊でして、ほとんどが「1-はい」となるような質問で、それが何十行もあるのです。ですからオートフィルを禁止するのもちょっと・・・。 すみません。

関連するQ&A

  • エクセルの連続データ入力(特別な形)の方法を教えてください!

    エクセルでセルに縦に 「1~5」「6~10」「11~15」。。。 というように入力をしたいのですが オートフィルで入力する方法はあるのでしょうか? フィルハンドルをドラッグしても 「1~5」「1~6」「1~7」。。。 と後ろの数字しかなりません。 よろしくお願いします。

  • Excelの連続データがオートフィルで入力できない。

    会社でExcel2003を使用しております。 連続データを入力しようと思い、オートフィルを使ってドラッグしたら、オートフィルオプションは表示されるのですが、クリックしても連続データの項目がありません。(セルのコピーやフィルは表示されています) これは設定の問題でしょうか? とても困っています。 助けてください。。。。

  • EXCELのオートフィル機能について

    お世話になります。 EXCELのオートフィル機能でセルに1を入れフィルハンドルで下にドラッグすると ずっと1のデータがコピーされますね。連続データを入れたいならば、最初のセルに1、 次のセルに2を入れて二つのセルを選択してフィルハンドルでドラッグすると 1,2,3,3,4,5・・・と数字が入ります。セルデータのコピーと連続データのコピーは 操作上に上記のような規則がありますよね。(アルファベットのオートフィルも 同様の規則性あり) ここからが本題なのですが、数字だけ、またはアルファベットだけの場合、上記のような 規則性がありながら混在文字列(A1やB1874等)の入ったセルをオートフィルすると データのコピーではなく連続データのコピーになってしまいます。(A1,A2,A3,A4,A5・・・) オートフィルで"A1"の文字列をコピーをしたい場合、ドラッグした後に表示される オートフィルオプションでセルのコピーを都度選ぶしかないのでしょうか。 混在の文字列には最初に記述した規則性が当てはまりませんがこれはこういうものですか? Microsoftオンラインヘルプにはオートフィルについてこのような説明書きはありません。 またアルファベットと数字混在の文字列の場合だと例外があります。 Q1という文字列をドラッグコピーするとQ1,Q2,Q3,Q4,Q1,Q2,Q3,Q4・・・となります。 尚、ユーザ設定リストには初期登録されたものしかなく、個人的に追加した設定リストは ありません。Q2,Q3,Q4で始まる場合も同様にQ1,Q2,Q3,Q4,Q1,Q2,Q3,Q4・・・の繰り返し となります。但しQ5をドラッグコピーするとQ5,Q6,Q7,Q8,・・・・という法則性に変わります。 これはどういうことでしょうか。なんだかバグのようにしか思えないのですが・・・ 何かご存知の方いらっしゃったら教えて下さい。宜しくお願い致します。

  • Excel で同じ数字を入力したい

    一つのセルの左端と右端にそれぞれ数字を入力し、全く同じ内容を 下に続くセルにも入力したいため、 オートフィル機能を試したところ 左端の数字は同じになりましたが 右端の数字は+1ずつ増えてしまいました。 どのようにしたら2つの数字を同じく入力させることができるでしょうか。 教えていただけるとありがたいです。

  • エクセルのオートフィル機能で連続データを入力するが、罫線はコピーしないやり方

    エクセル2000です。 例えば、B2セルに 数字の 2 が入っていたときに、B2セルのフィルハンドルをCtrl+左ボタンでドラッグすれば、 B3セルに3、B4セルに4、… という具合にオートフィル機能で、並んだ数字が入力できます。 また、同じ場合に、フィルハンドルを右ボタンでドラッグして、右ボタンを離したときに現れるメニューから、「値のコピー」を選べば、 B2セルの罫線をコピーすることなく、値(2)をB3,B4,B5、、、にコピーすることが出来ます。 それでは、上記の2つの組み合わせ、つまり、 B2セルに 2 が入力されている状態で、B2セルに罫線があって、 B3、B4、B5、… に 3、4、5、… と入力し、且つ、 B3セル、B4セル、B5セル、… に、B2セルの罫線はコピーしない、 というようなことをするにはどうすればよいのでしょうか。 B2セルのフィルハンドルを、Ctrl+右ドラッグすればうまくいくかと思ったのですが、なぜかうまくいきません。 具体的にやり方をお教えください。

  • エクセルの入力規則について

    仕事でエクセルを使っているのですが、(エクセル2003) リストから選択する(入力規則)のはできるのですが これとはちょっと違う方法を教えていただきたいです。 入力規則を使うと▼マークがでますよね? 今まで使っていたリスト選択は▼マークはなく、 セルの右下にカーソルを合わせると、十マークになって そこにリストが並び選択するという感じで使っていました。 ところが、急にリストが表示されなくなり、入力規則を 使ってリストを作ったのですが、どうしても▼マークの 表示されないリスト作成ができません。 わかる方がいたら、教えてください。 お願いいたします。

  • エクセルのデータ入力規則を利用した設定

    エクセルのデータ入力規則を利用して、簡単に品名に値する単価を他に作成したリストから自動的に入力する方法をご指導ください。項目欄は品名をリストから選択できるようにはなっています。

  • エクセル オートフィルに関して

    エクセルのオートフィルの機能を使っての「連続コピー」ができません。 たとえば「1」「2」「3」とそれぞれのセルに入力し、オートフィルハンドルをドラッグすると、4、5、6・・とコピーされていたものが、出来なくなってしまいました。 上の作業をすると、ドラッグしたすべてのセルが1になってしまいます。 エクセルの設定を調べた箇所は、 1.[ツール]→[オプション]→[編集]を開き「ドラッグアンドドロップ編集を行う。  これはチェックが入っています。 2.[編集]→[フィル]を開くと、「連続データの作成・・・」がグレーになってクリックできない。 3.フィルハンドルをドラッグするときに右クリックしながらドラッグしてもオプションメニューが「セルのコピー」以外がグレーになっている。 何をどう設定すれば、うまく連続コピーが出来ますでしょうか? よろしくお願いします。

  • Excelの入力規則について

    Excelの入力規則について教えてください。 A1:A20に入力規則を設定します。 入力値の種類にリストを選び、元の位置で、北海道、青森、岩手、山形・・・と都道府県名を20件ほど入力し、設定が完了したとします。 A1セルでドロップダウンして、岩手を選び、次のA2のセルでドロップダウンした時、岩手をリストから消しておきたいのです。 つまり、リストから選んだものは、次のセルでドロップダウンした時、常に消えておくことができるように設定したいのですが、良い方法はありませんか?

  • Excel 入力規則

    別のシートにリストを作成し 名前をつけて 「入力規則」の機能を使って リストを選べば入力できるように 設定しました。 しかし、入力規則を設定したセルの幅が狭く 表示されるリストの幅も狭くなってしまいます。 リストは マンション名で 名前の最初が同じものが多いです。 例えば 「ライオンズマンション大阪」と「ライオンズマンション京都」 「ライオンズマンション兵庫」など。 表示されるリストの幅が狭いと 「ライオンズ」としか表示されなくて 区別がつきません。 どれかを選択したら 右のセルも使って表示はするのですが 区別がつかないので どれを選択したら 希望のものが入力できるのか わかりません。 セルの幅を広げたらいいのですが 書類のデザイン上、セルの幅を 狭いままにしたいです。 セルの幅を狭いままで、表示されるリストは広くしたいのですが どう 設定したら可能でしょうか? 以前は広くでたような気がするのですが・・・。 あまり上級者ではないので 説明が上手くできてるか 不安なのですが(^^;; よろしくお願いします。  

専門家に質問してみよう