• ベストアンサー

「excel」 条件の関数について

条件付きの関数についての質問をさせてください。 A1~A500までのセル中に「goo山goo太郎」という名前が あった場合→B2セルに数値「1」を、 ない場合→B2セルに数値「0」をかえしたい時 IF関数を使うのが正しいのでしょうか? その場合、B2セルに =IF($A$1:$A$500>goo山 goo太郎,"1","0") と入力してみたのですが、反映されませんでした。。 独学でトライ&エラーでやってますが、わかりません。 ご教授よろしくお願いします。

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

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

まず最初に、 「goo山 goo太郎」 は、文字列でしょ? そのまま記載しても当然駄目。 また、「数値」を返したいのに、"1","0"じゃ文字列になっちゃうでしょ? =IF(COUNTIF($A$1:$A$500,"goo山 goo太郎")>0,1,0)

tackhigh
質問者

お礼

素早く適格な回答をいただきまして、ありがとうございました! " "が文字列になるという事も、解説していただいて理解できました。 これで次に進めます。本当にありがとうございました。

その他の回答 (3)

  • satumei
  • ベストアンサー率42% (71/168)
回答No.4

  すいません、勘違いではありません。   式の記入誤りでした。   (誤)→IF($A$:$A$500="goo山goo太郎"=1,0) (正)→($A$:$A$500="goo山goo太郎"1,0)   =が必要なかったのです。   質問者様は、セル中(A1~500間)にgoo山goo太郎という名前があった場合としているので、   セル中にその名前があれば、1を返す。なければ0を返すといっているのですから、条件式IF関数でOKの筈ですし、   (正)で検証済みです。   エラーは出ませんしたよ。   COUNTIF関数は、検索条件に一致した個数(件数)を返す関数ですから、結果として出る答えに間違えが出なかったとしても、書かれている設問からは、IF関数の方が良いと思います。   で、結果として、500のセル中にgoo山goo太郎さんの名前がどれだけあったのかの個数(件数を)返す時に、COUNTIF(S)関数を使用することでgoo山goo太郎さんが何件あったのかが返されると思いますが。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 一般的な方法としてはedomin7777様の方法が最も正当な方法だと思います。  satumei様は何か勘違いをされている様です。  念の為に、私もsatumei様の方法を試してみましたが、 A1セルに「goo山goo太郎」と入力すると「#VALUE!」エラーとなり、A2~A500の何れかに「goo山goo太郎」と入力すると「0」が表示されました。  尚、表示が0と1の何れかである場合には、応用技として次の様な関数が使用出来ます。 =(COUNTIF($A$1:$A$500,"goo山 goo太郎")>0)*1

tackhigh
質問者

お礼

kagakusuki様 ご回答いただきまして、ありがとうございます。 私もsatumei様の方法を入力してみましたが 求めているものとは違ったようです。 応用技も教えていただきまして、ありがとうございました!

  • satumei
  • ベストアンサー率42% (71/168)
回答No.2

 No.1の回答者の答えは、件数に関する関数ですね。  あなたの設問は、件数ではなく、結果の入力によるすみ分けですよね?  ですから、あなたの使用しようとしているIF関数で反映させるには、  IF($A$1:$A$500="goo山goo太郎"=1,0) と"  "で括る位置を間違えているので反映しないのです。  括る位置を上記のように設定すれば、あなたの質問のように結果が表れるはずですよ。

tackhigh
質問者

お礼

satumei様 ご回答いただきましてありがとうございます。 今回、私が求めている結果ではありませんでしたが、 もう少し私に知識がついた時、今回ご教授いただいた 事が理解できるかと思います。 ありがとうございました。

関連するQ&A