• 締切済み

列内の値パターンを制限したい

A列には2文字の入力を自由入力させます。 セルに入力したタイミングで値のパターン数が一定以上ならエラーにする動きは実現可能でしょうか? 例えばA1~A10には異なる値が入力されています(値のパターン数10)。 さらにA11には上記範囲に入力されている値のパターン以外を入力したときにエラーで入力できないようにして、 A1~A10に入力されている値のパターンであれば入力可となるようにしたいと考えています。 マクロは使用禁止環境のためエクセル標準機能で実装したいです。 できれば判別用等に別のセルで関数を利用するのも避けたいので入力規則でどうにかできないでしょうか。 よろしくお願いします。

みんなの回答

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.6

No5です。 )<=10 は )<11 の方がいいかもしれません。

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.5

入力規則のユーザー定義で =(SUMPRODUCT(1/COUNTIF($A$1:$A$1000,$A$1:$A$1000&""))-1)<=10 としてください。とりあえず1000行目までとしたばあい。

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.4

No2の循環参照云々は無視してください。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.3

質問の意味が今ひとつ理解できません。 A1からA10 に X0, X1, X2, ...... X9 のような重複しない値が入力されていて、A11からA列の最終セルまでは、X0, X1, X2, ...... X9 の以外を値を入力させないようにする。 であれば、他の人の書き込みのように入力規則のリストで対応できると思いますが、そうではない??? それとも、A1からA10 に重複しない2文字の値を入力させたい???

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.2

> 入力内容、入力セルについては特に指定を設けずユーザに入力させます。 A列のどこでも入力出来、A列に入力したときにA列の入力済みデータが10パターンかどうかを判断するということでしょうか。循環参照(自分自身を検査もしくは計算の対象とする)になりませんか?

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.1

入力規則のリストにして元の値を =$A$1:$A$10 にしておけばいかがですか。

hiro198067
質問者

補足

kkkkkmさん、ありがとうございます。 入力内容、入力セルについては特に指定を設けずユーザに入力させます。 なので固定でリスト化はできず合計パターン数が10ということだけ制限したところです。

関連するQ&A

  • エクセルで列番号を指定し、それを元に参照をしたい

    エクセルで、 セルA2に数値Xを入力すると、 セルA3に別シートのCXの値を表示する という動きを実現したいのですが、方法がわかりません。 例えば シート1のセルA2に数値3を入力すると シート1セルA3に、シート2のC3の値が表示される といった動きです。 どなたかご教授願います。 宜しくお願いいたします。

  • B列のセルにある文字が出た時A列のセルの値を変える

    B列のセルにある文字が出てきたときA列のセルの値を変える式、マクロを教えて下さい  A列のセルの値のリストは最初から決まっていてB列のセルに出てくるある文字と同じ数あります。

  • 入力規則の文字数設定について

    入力規則の文字数設定がうまくいきません。 ご存知の方教えて下さい。 入力規則とIF関数で以下に設定したいのです。。 理論 セルAが0~7文字以下 真の値 セルBが0~9文字入力可 偽の値 セルBが0文字まで入力可=入力不可 偽の値はうまくいくのですが、真の値でセルBに9文字以上入れることが出来てしまいます。 私のセルBの設定は 入力規則  設定   入力値の種類ー文字列(長さ指定)   データー次の値の間   最小値ー0   最大値ー=IF(LEN(セルA)>=7,9,0) です。 よろしくお願い致します。

  • EXCELでセルに入れる文字数の制限

    文章が入力されてるエクセルデータがあります。 セルに入る文字数を常に一定にしてプリントアウトしたいです。 (Wordだと一行何文字と指定できるとおもうのですが) もう出来上っているエクセルデータから、セルに入れる文字を制限数までとし、それを超えたら自動的に消される方法はありますか? マクロを張り込まないとできないのでしょうか? 私はマクロのプログラムが全く書けないのでそれができません。 どうしたらよいでしょうか? 使う方が初心者なので、出来るだけその人が手をかけないようプログラムを作るか、設定したいのですが・・ ちなみにエクセルの機能で、入力規則はもう出来上ってるデータには適用されないようなので、それ以外でお願いします。

  • セルの文字制限

    A1セルに31文字以上入力された場合 A1セルを空白にし、かつエラーメッセージをだしたいのですが 入力規則で制限をかけると「続けますか?」で「はい」と押下すると スルーできてしまいます。 31文字以上入れると強制的に空白にするにはどうしたらいいでしょうか? ちなみにマクロはあまり使用したくありません。、、 業務用でしようするため不特定多数の人がこのファイルを開くためです。

  • A列に1~10000までの値が入力されています。

    A列に1~10000までの値が入力されています。 下記の条件で、B列に印を付けたいです。 条件(1) A列には、途中ランダムに空白のセルがあります。 条件(2) B列に、5連続以上入力があった場合のみ●の印を付けたい。 マクロで、可能でしょうか? イメージは、画像のような感じです。

  • エクセル 値入力にマクロ自動実施方法

     エクセル2003にて、ある箇所のセルに値が入力されたら所定のマクロが実施されるようにする事はできないものでしょうか? 例)  A1 に値が入力されていたら 1 というマクロと連動 A2 に値が入力されていたら 2 というマクロと連動 A3 に値が入力されていたら 3 というマクロと連動 A4 に値が入力されていたら 4 というマクロと連動  A1~A4 になにも無かったら 5 というマクロと連動  (A1~A4に同時に値が入力される事はありません)      としたいのですが、可能なのであれば方法を教えてください。

  • Excel セルの数式を固定で値は自由に変更したい

    A1セルに何か入力されたら、B1セルに固定の文字「とりあえずビール」と入れる。 =IF(A1="","","とりあえずビール") この数式をB1セルに入れますよね? こういう形で初期値は決めておきたいものの、これを入力規則のリストから選んだり、手打ちで打ち直したりで値を変更するとします。 そうすると当然のことながらB1セルに入れた上記の数式は消えてします。 値を変更しても数式は残っていて、一度値を全部消してA1セルに打ち直した時にまたこの数式が動くような設定はできないのでしょうか? 数式を裏に隠すみたいな。 なんだか入力規則を使ってできそうな気もするのですが、調べてみてもそういう方法は見つかりませんでした。 今はデータを一度削除したい場合は、VBAを使って全消し後に数式を各セルに入れ直すというマクロで行っています。

  • 値によって違うマクロの実行

    表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。  1から15の時はマクロA  16から30の時はマクロB  31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。

  • エクセル シートをまたいだ入力規則について

    sheet1のセルA1に入力規則を適用して、 sheet2のセルA1からA3に書いてある単語しか入れられない ようにしたいのです。 入力規則のリストを選んで、元の値にsheet2を選びたいのですが sheet2がクリック出来ません。 どうすれば実現できるのでしょうか?

専門家に質問してみよう