きみどりの窓

通りすがりに窓から覗いてみてください。

今さらですが、Excel

2018-08-01 | 書斎
お久しぶりです。
気が付けば8月。今年も残すところあと5カ月。すでに今年も下半期に突入してますね。

今年の上半期は春先から公私でバタバタ。そこに体調不調が加わり、最後のシメは夏バテ。
今年の夏バテは私自身過去最大のバテ具合です。

そんなこんなでブログの更新もままなりませんでした。

まだまだ夏バテのままですが、バタバタの方はなんとか解消(解決?)してきましたので、久しぶりにブログに向かいます。

さて、Excel(エクセル)です。
お仕事に、プライベートにと活用させてもらっています。

はじめて触れたバージョンは「2.11」だったかな。これは当時、パソコンのパフォーマンスが低くただ触れただけ。
その頃はもっぱら「Lotus 1-2-3」がメインでしたね。
Excelを本格的に使い始めたのはWindows95の登場とともにですから、かれこれ20年以上も使っているんですね。

で、今回のお題。

私が愛用する(?)関数に「COUNTIF」というのがあります。
機能説明では「指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を返します。」と書かれています。

今回もこの関数を使ってお仕事をしているときに「おや?」と思うことがあったのでご紹介したいと思います。

写真1. COUNTIFの使用例

セルの[A1]~[A47]には47都道府県名が入力されています(以下、「リスト」と言います)。
セル[B50]にCOUNTIF関数を使って、リストに含まれる都道府県名(セル[A50]で指定)をカウントするようにしています。

リストには47都道府県名が一つずつですから、"神奈川県"の個数は「1」というわけです。

写真2. "(神奈川県)"の数は

セル[A50]に"(神奈川県)"と入力すると、リストの都道府県名には括弧が付いてませんから、個数は「0」です。
これは予想通り。

写真3. "<神奈川県>"の数は

次にセル[A50]に"<神奈川県>"と入力してみました。
当然、この場合でも個数は「0」になるかと思いきや、「26」となりました。
どうしてどうして?

これが今回遭遇した「おや?」の事象(の再現)

写真4. "<神奈川県" だと

「25」です。
ん?

写真5. "神奈川県>" の場合

「0」。

写真6. ">神奈川県" にすると

「21」になりました。

"<神奈川県" の時は25、">神奈川県" で21。25+21=46ですね。
リストの個数は47(都道府県)ですから、どうやら前者は"神奈川県"(より小さい)、後者は"神奈川県"(より大きい)もの(文字列)をカウントしているようです。
46に"神奈川県"を加えると47になります。

"<神奈川県>"は、"神奈川県>"(より小さい)ものということなので26で納得です。
この場合の">"は単なる文字列として扱われているようです。

そもそもは"( )"と同じように"< >"を括弧として使おうと思ってこのような事象に遭遇してしまったわけですが、どうやらセルに入力した"<"とか">"は文字列ではなく、条件式(不等号)として処理しているんですね。

Excel使用歴20年超にして初めて知りました(笑)

さて、疑問はこれで終わりませんでした。

"神奈川県"より小さい個数が25、大きい個数が21となったわけですが、これを検証してみました。

写真1から写真6のリストは47都道府県を都道府県コード順にならんでいるので、検証のために単純に並べ替えを行いました。

写真7. リストを並べ替え

リストの並べ替えは慣れてます(笑)
が、しかし、"神奈川県"は上から(並べ替えは昇順ですから「小さい順に」というべきですね)14番目。
これでは"神奈川県"より小さいのは13、大きいのは33になるはず。

写真8. もう一度並べ替え

今度は"神奈川県"は26番目に居ます。
写真4や写真6の「答え」と一致します。

なぜか?

写真9. 並べ替えオプション

実は並べ替えの際のオプション指定で並び順が変わるのです。

写真7は、デフォルト(オプションをいぢらず)で並べ替えたもの、写真8はオプションで「ふりがなを使わない」としたものです。
よくよく見ると写真7は、愛知県、青森県、秋田県・・・でふりがな順ですね。
一方、写真8は、愛知県、愛媛県・・・となっています。ふりがな順でなければ何順か、と言えば文字コード順ですね。

COUNTIF関数(だけじゃないですが)では、比較判断は文字コードで行っているわけで、写真7の状態でも写真8の状態でも、関数の答えセル[B50]は変わりません。

この並べ替え時の「ふりがな順」というのは私もかつて戸惑わされた「余計なお世話」機能(さらにそれがデフォルト!)。
久しぶりに思い出しました。

「こんなの知ってたよ」と言われそうですが、私としては初めて遭遇した事象でしたので。
他にブログのネタもなかったし・・・(笑)

まだまだ暑い日が続くようですから、皆さまくれぐれも体調管理は万全に。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
文字列 (isao)
2018-08-03 06:57:02
お久しぶりです。どこにお隠れになったかと思えば夏バテですか。今年は暑さがハンパないので十分ご自愛のほどを。
さて大変興味深いレポでしたが、やはりEXCELさんて根っこは計算屋なんだなぁ・・・って思いました。一見文字を表示してるように見せかけて「隙あらば計算!」て思ってる人だったとはね(笑)。文字列と認識させるには面倒でも頭に ' つけるのが確実のようですね。
後段の「ふりがな」の件は仕事でもよく騙されるんでわかります。文字検索してもなぜか仲間外れになってるのが2、3個出てきて手を焼きます。入力時の音読みと訓読みで差が出るようですが、原因不明のケースもあるのでややこしい。気のせいかも知れんけど・・・。
では、運転会でお会いしましょう^^
返信する
Re: 文字列 (ぐりれ)
2018-08-03 23:27:21
isaoさん、こんにちは。
いやあ、今年は梅雨明けのときには夏バテになってました。
> 文字列と認識させるには面倒でも頭に ' つけるのが確実のようですね。
実はこれがなかなかクセモノで、頭に ' を付けても「答え」は変わらないんですよ。とことん「隙あらば計算!」を貫いているようです。
「ふりがな」の件は、テキスト(CSV)ファイルを読み込み、その後手入力でデータを追加したりすると「敵の術中」にハマりますね。
詳しくは運転会で!?
返信する

コメントを投稿