はじめに
最近Excelを触り始めたのですが、ちょっと悩まされたので備忘録として…。
こんなん常識なのかもしれないので、何番煎じの記事かわかりませんが…。
やりたいこと
期待していた値と、DBに登録された値が合致しているかを見るだけの表!
ただし、登録日時は正確な期待値を作るのが難しいので、厳密には見ない!
そういうところは期待値のセルに"any"と入れて、
**期待値のセルが"any"だったら問答無用で"TRUE"**と表示
それ以外なら、期待値と登録された結果を比較してTRUEかFALSEを表示!
やったこと1
つまり、こうだな!
=IF(B2="any","TRUE",EXACT(B2,B3))
完成!
結果
…えっ…気持ちわる………。
期待値"any"のところだけ、左詰めになっています。
気持ち悪すぎる…(いやサクッと中央揃えにしちゃえばいいじゃんとか言わないで)
やったこと2
何が悪さしているのかしばらく探っていたところ、この記事に出会いました。
Excel Tips[論理値 - TRUEとFALSE - ] - Office TANAKA
先ほどの数式で"any"の時は**"TRUE"(文字列)を返し、それ以外はEXACTでTRUE(理論値)**を返していました。
だから表示のされ方が違ったんですね…。
これを解決するには、最初の式で"TRUE"としていた所を以下のように変更します。
=IF(B2="any",TRUE(),EXACT(B2,B3))
TRUE 関数 - Office サポート - Microsoft Support
結果
これで最初の画像のように全部中央揃えになりました!
最後に
ちょっと遊びました。こっちのほうが長いです。
セルに「false」と入力し、
Enterキーを押すと
勝手に大文字になりました!
これも、文字列じゃなくて理論値になっているようですね。
じゃあ、と気になって色々なFALSEを入力しました。
これをCOUNTIFで見たらどうなるんだ…?
「2」…?
"FALSE"って書いたのに、そっちがカウントされるの…?
そして文字列の"FALSE"はカウントされないの…?
じゃあ…
'FALSEを条件にすればどうだ…?
「0」
………文字列の"FALSE"をカウントするにはどうすればいいんだ…!!!
ググっても出てこないので実験した結果、*(アスタリスク)を前に入れれば条件に引っかかるっちゃ引っかかる
ということがわかりましたが、ほかにも引っかかってしまう文字列が出てきてしまうので、解決できているか怪しいですね…。
(せめて一文字なら妥協できんこともない、と、?FALSEにしてみましたがダメでした…)
(そもそもLEN関数で'FALSEの文字数を見たら5文字でした)
本当はこっちのほうが本編より調べたので本編にしたかったところですが、調べきれずに断念…。
いや、まあわざわざ文字列のFALSEをカウントしたい人はいないかもしれませんが…。