• ベストアンサー

使用する数式によって結果表示セル値の扱いが異なりますか

2007使用です。 仮に、A-J列までそれぞれ計算式が入ったセルがあり、一桁の数字が表示されています。 各行ごとのMAXとMINを取りだそうとするといずれも0が返ってきて数値でないからダメなのだろうと思い、当然COUNTIFで0から9までのそれぞれの個数は出ないと思っていました。が、キチンとカウントされます。 なぜだろう、という疑問が解決できません。 例えば、あるセルに「19」という数値が入っていて、19-10=9と下一桁を抜き出した場合の9は同じ「9」としての判定にはならないハズと思っているのですが・・。 RIGHTで切り出したものは、前記例の場合、「9」という文字なのか数値のままなのか判断がつきません。文字だとするとMAXがエラーとならずに、どの行も「0」となるのも疑問です。 考えかたのどこにアナがあるのかご教示ください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

COUNTIFでは文字列だろうが数値だろうがカウントされます。 19-10=9と下一桁を抜き出した場合の9は数値の9です。 19からRIGHTで切り出した9は文字列です。 検査対象が文字列のみならMAX関数は0を返します。

enimy
質問者

お礼

COUNTIFで対象が文字列のときは""を付けて、数値のときは付けないと学習し、今回は9のままで""を付けていないのにカウントされているので文字列ではないんだと思い、MAXでやると数値じゃないんだ、で思考が?となったものです。 一文字しかなかったので気がつきませんでしたが、列としては文字列でその中で「9」は数値として扱われるという解釈になりますか? 例えば、書式が文字列になっているセルに「9」と入っていた場合、これは数値ではなく「9」という文字だということで教わってきたためやや混乱気味です。 実際の作業は数値に変換してやるので問題はないのですが、PCをこれからやろうという者が近くに居て、その辺の説明をどうしたら良いか、自分でもハッキリ認識をしておかなくてはの点からもおたづねしました。 もう一度はじめから整理をしてみて、疑問点が出ましたらまたよろしくお願いします。ありがとうございました。

その他の回答 (1)

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

min関数は数字だけが対象となります。エラーにならずに無視される countifは試していませんが文字も対象とするのでしょう rightで切り出したものは文字となります。 つまりminやmaxでは無視されます。 modかvalueを使って数字として切り出す必要があるようです。 =Value(Right(R[-1]C,1)) または =Mod(R[-1]C,10)

enimy
質問者

お礼

いままでは切り出したものを、もう一度変換するという手間を踏んでいましたが一度に数値として取り出す方法のようですね。一見ではどこをどう変えて使えばよいのかわかりませんが、試行錯誤してみます。 ありがとうございました。

関連するQ&A