dポイントプレゼントキャンペーン実施中!

エクセル2003を使用しています。

入力規則の条件設定でユーザー設定を選び、関数を使用して、
E5のセルに「A」、もしくは、「B」で始まるデータを入力したときに、
エラーメッセージを表示させたいのですが、
うまくエラーメッセージを表示させることができません。

COUNTIF関数を使って

=OR(COUNTIF(E5,"A*"),COUNTIF(E5,"B*"))

と数式に入れてみたのですが、うまくいきませんでした。

どなたかご教示いただければありがたいです。よろしくお願いします。

A 回答 (5件)

 COUNTIFを使用する方法で、行うのでしたら



=COUNTIF(E5,"A*")+COUNTIF(E5,"B*")=0

等の様になります。(「COUNTIF(E5,"A*")+COUNTIF(E5,"B*")」の部分を( )で加工必要はありません)
 ですが、「A」又は「B」で始まるデータを入力した場合にエラーメッセージを表示させるのでしたら、先頭の文字を取り出して、その文字が「A」及び「B」のどちらでもない場合にのみ入力を許可し、それ以外の場合にはを表示させる、というのが基本だと思います。
 ですから、最も基本的な数式は、

=AND(LEFT(E5,1)<>"A",LEFT(E5,1)<>"B")

になると思います。
 又、大文字の「A」や「B」で始まる場合にはエラーメッセージを表示し、小文字の「a」や「b」で始まる場合には入力を許可するのでしたら、

=NOT(OR(EXACT(LEFT(E5,1),"A"),EXACT(LEFT(E5,1),"B")))

が最も基本的数式となりますが、その他にも、次の様な数式でも同様の事が出来ます。

=ISERROR(FIND(LEFT(E5,1),"AB"))

 それから、もし、先頭の文字が半角の「A」や「B」となっている時だけではなく、全角の「A」や「B」となっている時にも、エラーメッセージを表示させる場合には、上記の数式の中の「E5」の部分を、全て「ASC(E5)」に置き換えた数式とすれば良いと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございました!
色々なやり方があるのですね。
おかげさまで解決出来ました。

お礼日時:2011/08/04 10:12

参考までに。



元の数式はE5のセルに「A」、もしくは、「B」で始まるデータを入力したときにTRUEを返す式になっていますので、その数式を利用するなら、以下のように式全体を否定するNOTで関数を囲むのがわかりよいかもしれません。

=NOT(OR(COUNTIF(E5,"A*"),COUNTIF(E5,"B*")))

もっと直観的な数式にするなら、E5セルの左1文字がAまたはBの場合以外の数式にする手もあります。

=NOT(OR(LEFT(E5,1)={"A","B"}))

ただし、上記の数式は大文字と小文字を区別しませんので、小文字のaやbで始まる場合も入力規則の対象になってしまいます。

これを避け大文字と小文字を区別する場合には(Bsは入力できないがbsは入力できるようにしたい場合)、たとえば以下のような数式を入力することになります。

=SUMPRODUCT(EXACT(LEFT(E5,1),{"A","B"})*1)=0
    • good
    • 0
この回答へのお礼

回答ありがとうございました!

考え方で色々な数式で対応できるのですね。
とても勉強になりました。

お礼日時:2011/08/04 10:14

設定が逆だと思いますが


=OR(COUNTIF(E5,"A*"),COUNTIF(E5,"B*"))
だと、AまたはBで始まる場合TRUEでOK、AまたはB以外で始まる場合FALSEでエラーになります。

=NOT(OR(COUNTIF(E5,"A*"),COUNTIF(E5,"B*")))
または
=OR(COUNTIF(E5,"A*")=0,COUNTIF(E5,"B*")=0)
または
=(COUNTIF(E5,"A*")+COUNTIF(E5,"B*"))=0
    • good
    • 0

=OR(E5="A*",E5="B*")


としてみたら如何?
    • good
    • 0

提示された数式は、先頭がAまたはBの時「TRUE」を返します。


数式を使った入力規則は、以下の数式のように入力できる値の場合に「TRUE」を返す式にしなければなりません。

=(COUNTIF(E5,"A*")+COUNTIF(E5,"B*"))=0
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!