こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの関数について

選択範囲内にA文字列が2つある時またはAが1つ、Bが1つある時はtrue,ないときはfalse

これを表示するにはどのようにすればよいですか?

投稿日時 - 2019-05-08 16:22:40

QNo.9614724

困ってます

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

結果が大文字のTRUEまたはFALSEのときは下記の数式で良い
=OR(COUNTIF(A:A,"A*")=2,AND(COUNTIF(A:A,"A*")=1,COUNTIF(A:A,"B*")=1))

結果が小文字のtrueまたはfalseに拘るときはLOWER関数で変換すれば良いでしょう。
=LOWER(OR(COUNTIF(A:A,"A*")=2,AND(COUNTIF(A:A,"A*")=1,COUNTIF(A:A,"B*")=1)))

投稿日時 - 2019-05-09 07:27:19

お礼

これで提案してみました

投稿日時 - 2019-05-11 14:03:35

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.4

下記を明記したないのは質問として、あいまいで不十分と思う。
>選択範囲内に
ある列でその列だけのセル範囲だけのデータ(複数列でない)
ある行でその行だけのセル範囲だけのデータ(複数行でない)
と考えてよいのか?
既に出ている回答は、これを前提のようだ。
ーー
 複数列のセル範囲内に、ということであれば、VBAでユーザー関数を使わざるを得ないかも。
すぐ思い付く、COUNTIF関数では、複数列(行)のデータを対象にできないようだ。
ーー
 コンピュターがらみの問題は、細心の注意を払って表現すること。
勉強においても、少し拡張したらとか、少し条件を変えたら、どうなるか、も勉強する癖を付けると、上達すると思う。1つのものが、複数になると、意外に難しくなる問題はたくさんある。

投稿日時 - 2019-05-09 21:41:11

ANo.2

標準モジュールに
Function MRng() As String
Application.Volatile
MRng = Selection.Address
End Function

として
表示するセルに
=OR(COUNTIF(INDIRECT(mrng()),"A")>=2,SUMPRODUCT((INDIRECT(mrng())="A")+(INDIRECT(mrng())="B"))=2)
入力したときに循環参照のメッセージが出ますが無視してください。
あとは、セルを選択してF9を押すとTRUEもしくはFALSEが出ます。
「2つある時」を「2つ以上」として考えています。

投稿日時 - 2019-05-08 19:00:04

ANo.1

検索対象範囲はA列だとして
=IF(OR(AND(COUNTIF(A:A,"A文字列")=1,COUNTIF(A:A,"B文字列")=1),COUNTIF(A:A,"A文字列")=2),"true","false")
で表示できます。

投稿日時 - 2019-05-08 16:51:40

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-