• ベストアンサー

エクセル関数 ISNUMBERについて

こんにちは。 ISNUMBER と IF関数を用いてセルに"真"か "偽"を表示させたいのですが・・・ 例えば、セルに特定の数値が入力されれば“真”を表示する。ということです。 どうやら、数字の「1」は「10」「12」なども 「1」が含まれていると認識するようで、困っています。 また、他のセルの関数を参照していることからどのような式を組めばよいのか分かりません。 詳しく説明すると以下のようになります。 (( ))はセルに入力されている関数です。        A         B         C 1    2009/01/20   2      1    (( =MONTH(A1) )) 3     4、10月    (( 文字列  )) 4     真    (( = IF(ISNUMBER(SEARCH(A1,A3)),"真", "偽") )) A1 シリアル値で入力された日付 A2 その日付より“月”だけ取り出して表示 A3 真か偽かを判断する為の基本となるデータを入力 A4  ISNUMBER関数 → A2の数値がA3に含まれていれば“真”をそうでないらな“偽”を表示する。 上記のように 1 は 10月 とは異なるので“偽”としたいのですが、10月の 10 の 1 を読み取ってしまうようで “真”と なってしまいます。 11月、12月 等も 1、2、と 読み取ってしまうようで・・・・ 1は 1月のみ“真”と表示。 2は2月のみ“真”と表示。というようにするにはどうしたら良いのでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >3     4、10月 >   (( 文字列  )) ここから、月数を出すって、10月は良いとしても、「4、」という表現を、月数と取るのは、とても一般関数では対応するのは難しいと思います。 4、10月 のスタイルなら、初めの「4、」は無視します。 A4: =IF(SUBSTITUTE(RIGHT(A3,3),"、","")=A2&"月","真","偽") 4月、10月 とするなら、 =IF(ISNUMBER(FIND(A2&"月","、"&A3)),"真","偽") となります。

noname#116281
質問者

お礼

返事が大変遅くなり申し訳ございませんでした。 4、を月数と読み取るのは関数では出来ないのですね。 たしかに・・・規則性がないですね。 1番目の式は4,10月 のスタイルが確かではなかったので・・例えば10,5月 とかも存在するんです・・ごめんなさい。 2番目の式がその他に色々ためしてみた結果すべて対応してくれました。 ”月”に対応させる為にFIND関数を使えば良かったんですね! ありがとうございます!

その他の回答 (2)

回答No.3

ここは、A3の表記をもっと簡略に、「4,10」のようにします。入力 がラクチンですね。そして、search関数を =search(A2&",",A3&",") のようにカンマが後ろについた文字列を探すようにします。つま り、「1」ではなく「1,」を探すので、「10,」や「12,」にはヒッ トしません。ちなみに私ならif関数で包まずTRUEとFALSEでよしと しますけどね。

noname#116281
質問者

お礼

返事がおそくなり大変申し訳ございません。 A2を参照する関数が他にも使用されていまして・・カンマで対応するような関数にするのは少し難しかったです。 関数はまず出来るだけ簡単に行うことが大切ですね。 これからはそのことを考えながら式を作っていきます。 どうも、ありがとうございました。

回答No.1

A3へどのような規則でデータ入力するかによって、 A4での判断が大きく変わってきます。 一番判断を簡単にするには、 01月、02月、03月・・・のように一桁の月を0を頭にいれての入力です。 A1 2009/01/20 A2 =TEXT(A1,"mm") A4 =IF(COUNTIF(A3,"*"&A2&"*")>0,"真","偽") A3 01月、09月 の時、A4 真 A3 10月、12月 の時、A4 偽 A3セルへ複数の月を入力するのであれば0を入力した方が複雑にならなくて良いと思います。 0の入力が困難であれば、規則性(月と月の区切りを『、』で統一など)があるなら、 複雑になる前提ですが、いくらでも方法はあると思います。

noname#116281
質問者

お礼

返事が大変おそくなりまして申し訳ございません。 なるほど、COUNT関数を使用する方法もあるのですね。 簡単で大変分かりやすいです。 ただA2へのTEXT関数の使用が出来ない状態でして・・・A2を参照する関数を他のセルにて使用しておりました・・A2にTEXT関数を入れると別の関数が上手く行かなくなってしまいました。 でも、色々な方法があることを知りました。 ありがとうございます!

関連するQ&A