電子書籍の厳選無料作品が豊富!

どうもお世話になります。

タイトルわかりづらくてすいません。
Excelにて、 ワイルドカードを使用したA条件またはB条件に一致した場合に"1"、一致しない場合、"0"というのをしたいのですが、調べながら、以下のような式に辿りついたのですが、0という表示でした。。。

A2セルに”赤とんぼ”と入力
=SUM(IF((A1="赤"&"*")+(A2="赤"&"*"),"1","0"))

上の式でワイルドカードをしようして"1"と表示されるようにするにはどうしたらよいでしょうか??

A 回答 (4件)

候補・・と言うか、関数の知識はきっと邪魔にならないと思うので、


ちょっと違った関数の例を一つ紹介させていただきます。

FIND関数と言う、指定した値から検索する文字列の位置を探す関数を使います。
  =FIND("赤",A1)
とすることで、A1セルに「赤」と言う文字列の位置を返します。
A1セルが「赤とんぼ」なら「赤」は1文字目に有りますから、返り値は「1」。
A1セルが「真っ赤」なら「赤」は3文字目に有りますから、返り値は「3」。
A1セルが「真っ青」なら「赤」を含んでいないので「#VALUE」エラーが返ります。

これにISERROR関数と言う、エラーかどうかを調べる関数を組み合わせます。
  =ISERROR(FIND("赤",A1))
A1セルに「赤」を含まない場合はFINDでエラーが返りますから、
ISERRORの返り値は「TRUE」です。
A1セルに「赤」を含んでいればエラーは返りませんから
ISERROR関数は「FALSE」が返します。

なので、IF関数で区別が出来ます。
  =IF(ISERROR(FIND("赤",A1)),0,1)
ISERRORがTRUE→赤を含まない→「0」
ISERRORがFALSE→赤を含む→「1」
と言う式ですね。


応用するとしたら、
「赤」で始まる→1文字目が「赤」 ですから、
  =IF(FIND("赤",A1)=1,1,0)
としてやると良いですね。


覚えておくと何かに使えるかもしれませんね^^
    • good
    • 0

赤で始まる


=1*OR(LEFT(A1,1)="赤",LEFT(C1,1)="赤")

赤で終わる
=1*OR(RIGHT(A1,1)="赤",RIGHT(C1,1)="赤")

赤を含む
=1*OR(SUBSTITUTE(A1,"赤","",1)<>A1,SUBSTITUTE(C1,"赤","",1)<>C1)

参考まで
    • good
    • 0

「A1="赤"&"*"」のように、「論理式」にワイルドカードをそのまま使うことはできません。

ワイルドカードは、COUNTIF など、一部の関数でしか使えません。

「"赤"」と「"*"」はともに文字列なので、「"赤*"」と書いても構いません。セル参照を混ぜたいときは、「a1&"*"」といった書き方をします。「a1」の前後に「""」を付けると参照ではなく「a1」という文字列を表すので、付けません。

通常、数字には「""」を付けません。数字は、「数値」である数字として取り扱いたいからです。付けると、「文字列」の数字になってしまいます。


●論理値 TRUE または FALSE で結果を表示

=countif(a1:a2,"赤*")>0

● 1 または 0 で結果を表示

=(countif(a1:a2,"赤*")>0)+0
あるいは
=--(countif(a1:a2,"赤*")>0)
あるいは
=n(countif(a1:a2,"赤*")>0)
あるいは
=sum(countif(a1:a2,"赤*")>0)
あるいは
=if(countif(a1:a2,"赤*")>0,1,0)

※「+0」の代わりに「-0」、「*1」、「/1」、「^1」と書き換えても構いません。

なお A1、A2 セルではなく A1、C1 である場合は、「countif(a1,"赤*")+countif(c1,"赤*")>0」と書けます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
しかもたくさんの例まで示して頂いて・・・
あと、次の疑問として、A1,C1とセルが飛んだ場合でしたが、
それも書いて下さってて助かりました!

お礼日時:2013/02/01 08:30

こんばんは!


外しているかもしれませんが・・・

A1セルまたはA2セルに 「赤」が含まれている文字列があれば「1」を
なければ「0」を表示すれば良いわけですよね?

表示したいセルに
=IF(COUNTIF(A1:A2,"*赤*"),1,0)

ではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありとうございます。countifを使わないとダメなんですね。

お礼日時:2014/01/27 08:04

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