ISLOGICALも、3月28日のISREFと同様に、どいう使い方をするのかが、思いつきにくい関数です。
ISLOGICAL関数の引数に数値を指定すれば結果はFALSEになると、逆用方法がわかっても、その「偽」の使い道に適例がみつかりません。
はてさて。
ISLOGICALも、3月28日のISREFと同様に、どいう使い方をするのかが、思いつきにくい関数です。
ISLOGICAL関数の引数に数値を指定すれば結果はFALSEになると、逆用方法がわかっても、その「偽」の使い道に適例がみつかりません。
はてさて。
ISNUMBERは、対象セルに数値が入力されているかどうかを判定する関数です。
3月21日の出納帳で、残高欄に、入出金がない場合には表示しない関数を使いましたが、ISNUMBER関数で入金出金のいずれかがあった場合に表示する設定でも同じ結果を得られます。
ISFORMULAは、対象セルが数式であるかどうかを判定する関数です。
さらっと見ると同じようなデータが入力されているシートに、データが直接入力されたセルと数式が入力されているセルが混ざっていることがあります。
それを区別したいときにISFORMULAを使えば判定できます。
数式でないセルを見つけただけでは、わかっているのに手を打たない逃避政治やずぼら行政と同じで、役に立ちません。
見つけたときは、そのセルを他のセルと同じ数式に入れ替える操作が必要になります。
そうなれば、マクロの出番ということになるでしょう。
ISXXXXの最初のISBLANKは、3月23日に書いたので次のISREFを参照してみます。
ISREFは、「対象がセル参照のときにTRUEを返す」というものですが、「セル参照のとき」という意味がこの表現だけでは何のことかわかりません。
「セル参照のとき」というのは、「指定した値が有効なセル参照であるとき」とされています。
セルを参照する場合指定の仕方には、セル座標または名前で呼ぶという約束ごとがあります。
座標の場合は、単独セルの場合は シートの端からふたつめなら B2 と「列・行」の形で表し、複数セルの範囲は B2:K10 のように「先頭セル:終末セル」の形で表します。
名前は、単独セルでもセル範囲でも、あらかじめ命名できます。
約束の形以外では有効なセル参照にはならないので、戻り値がエラー表示になります。
ここまではわかっても、それだけでは実用になりません。
さて、この関数が実際に役立つにはどういう使われ方をしているのか、Googleの検索からは見つかりません。
どなかたよい事例があったら教えてください、よろしくお願いします。
関数をなるべくややこしくしないために、ISを名前のあたまにつけた便利に使える関数が数多くあります。
ISXXXXは「XXXXである」という関数で、IFと組み合わせるとIF(ISXXXX,真,偽)「もしXXXXであれば・・・」という関数が出来上がります。
たくさんあるので一つずつ確かめていくことにします。
数値が等しくない場合は、「より小」「より大」をつなげた「<>」「小さくも大きくもない」という記号を使います。
この場合にも、うっかりして「<」と「>」の順序を間違えるとどうなるでしょうか。
これもよくありそうな間違いなので、親切に直してくれます。
数値が「より大」の場合は「>」、「より小」の場合は「<」、それぞれの後に「=」をつなげると「以上」「以下」の論理記号になります。
この場合「=」を、うっかりして「>」または「<」の前につなげてしまった場合はどうなるでしょうか。
よくありそうな間違いなら、たぶん親切に直してくれると思います。
セルの空白表示には、XY=""、ISBLANKのほかにCOUNTA関数を使うこともできます。
COUNTA関数は、対象セルの範囲に空白でないセルがいくつあるかを数えます。
IF の対象セルが空白のとき戻り値は 0 になるので、COUNTA関数を置くセルに計算値を表示させなくすることができます。
この関数は、論理の裏返しを繰り返すので、ややこしいことが難点です。
セルの空白は、XY=""という数式で表す方法のほかに、ISBLANK関数で表すこともできます。
この例では、複数のISBLANKをANDで括っていて、それぞれのISBLANKに戻り値を求めず、一括した判定結果で表すようにしてあります。
パソコンのソフトの多くは、英字の大文字小文字や全角半角の入れ違いぐらいは大目に見てくれるように作られています。
はっきり区別しなければならない場合には、ダメのメッセージを出します。
Excelでセルに不正確な記述があったとき、ダメと判定するにはEXACT関数が役立ちます。
セルが空であるというIFの条件には、文字入力形式の""を使います。
この例は、出納帳のいちばん単純な形のものですが、残高の列にはあらかじめ数式を書きこんであります。
加減数式のみでは、金額の入っていない行が入出金ともゼロに計算されて残高金額が表示されてしまうので、入金出金とも""の場合には残高も""となるよう、ANDを組み合わせたIF関数にしてあります。
日付と摘要まで書き込んで金額が確定しない場合にも、残高欄は表示させずにおくことにしたものです。
IFがANDでもORでもなければ、判定条件はNOTということになります。
この例は、三つ違いの兄さんがすぐ上にいれば○と表示される遊び用の関数です。
判定セルのいちばん上は、すぐ上のセルが数値でないので「数値はどうした」と判定してくれていません。
NOTの判定なので、偽を○と表示されるようにしてあります。
IFの判定条件にANDとは逆のORを使う場合を考えてみます。
ANDはあれもこれもでしたが、ORはあれかこれかで、条件がAかBかどちらかに当てはまれば「真」、どちらでもないときには「偽」とする関数です。
この例は、昨日のANDをORに入れ替えただけで、それに意味を求めはじめると頭がおかしくなってきます。
形式上は成立しても実用上の意味はない、還付金が郵送料より安い確定申告のようなものでしょうか。
IFの判定条件には、一種類のことを何段階にも分けるほかに、別々の条件を重ね合わすことも出てきます。
Aという条件と、Bという条件が、共に整ったときを「真」、一方だけが整ったときには「偽」とする条件設定です。
両方とも整わなければもちろん「偽」ということになります。
複数の論理式をコンマで区切り、かっこでくくった AND(論理式1,論理式2) をIF条件の論理式にします。
関数にも族のようにも見える性格分類ができます。
IFは、論理関数に属するとされますが、ANDもその仲間で、道連れのように使われます。
どこに属するかは分類好きの人の気休めのようなことですから、実用上の意味はありません。
ただし、関数自身が私はこことがよいと選ぶことができないので、国籍よりも厳しさはあるようです。
どうでもよいことを厳しく考えるのは、人間の論理障害と言えるかもしれません。