- ベストアンサー
既に入力されている文字列をはじくことはできますか?
A列で例えます。 A1に ABC と入力します。 A2に ABC と入力した場合、既にA1に ABC と入力されていることを理由に、入力を拒否する方法はありますか? 特定の列に単一固有の番号を入力する必要があり、同一番号を複数入力するといった間違いを防止するため、できるものであれば教えて頂きたく思います。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#2です。 =COUNTIF(A:A,A1)<=1 この数式を入力規則に使う意味は、A列全体を検索し、A1セルに入力されたデータと同じものの数を数え、それが1以下である(A1と同じものがない)場合のみ入力を許すという意味です。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
横からごめんなさい。 =COUNTIF(A:A,A1)<=1 の意味についてですが、次のように考えればよいでしょう。 この式を設定するときはA列全体を初めに選択します。A列全体の色が変わりますがA1セルが反転状態となってアクティブセルの状態です。そこで入力規則を設定しています。 したがって入力した式の意味はA列全体の範囲内で(A:Aの意味です)、A1セルに入力したと同じデータが幾つあるかを求め(=COUNTIF(A:A,A1)の意味です)、それが1以下であれば、すなわち重複したデータが他のセルになければA1セルにデータを入力することができるわけです。 これまでの説明はA1セルに設定された入力規則です。それでは他のセルではどうかとなりますとA2セルについては=COUNTIF(A:A,A2)<=1の設定となっています。つまりA2セルに入力されたデータが他のセルに有れば入力はできないことになります。このような条件がA列すべてのセルについて設定されていることになります。 最初にA10セルからA100セルまでを範囲と指定して入力規則を設定する場合にはA10セルがアクティブセルの状態になっていますので、入力規則で入力する式は =COUNTIF(A$10:A$100,A10)<=1 のような式になります。
お礼
詳しくご説明いただき感謝しております。 意味が理解できたことにより、他にも応用できそうです。 ただ、質問の趣旨からして、ポイントは上記様に付与します。悪しからずお許し下さい。 ありがとうございました。
A列だけで完結し、ダブりが発生した時点で入力不可にするには、A列を選択して、データ→入力規則の設定タブで「ユーザー設定」を選択して、数式に「=COUNTIF(A:A,A1)<=1」と設定して、エラーメッセージタブでエラーメッセージに「ダブっています」などと入力してみてください。 A列の値をB列でチェックして、重複時は最初の出現地点を表示する…なんて数式 B2=IF(MATCH(A2,A$1:A2,0)=ROW(),"","A"&MATCH(A2,A$1:A2,0)&"と重複")
補足
=COUNTIF(A:A,A1)<=1 この意味を詳しく解説していただけませんか?
- hallo-2007
- ベストアンサー率41% (888/2115)
A列を選択して データ=>入力規則 を設定します。 入力値の種類 の一番下の ユーザー設定 を選択 数式に =COUNTIF(A:A,A1)<2 と入れてOKしてみてください。 A列に重複した文字が入力できなくまります。
お礼
教えていただいた式を入力し、動作を確認しました。 ありがとうございました。
補足
=COUNTIF(A:A,A1)<2 この意味を詳しく解説していただけませんか?
お礼
ご説明いただき感謝しております。 いろいろと勉強になりました。 ありがとうございました。