Excelで範囲外の値の個数を計算~CountifでOR集計出来た

Excelで計測値の集計シートを作る手伝い。

  1. シートのセルに計測した値を次々入力して行くと、基準値の範囲外のセルに色がつく様にして欲しい。
  2. 基準値の範囲外である個数を集計して欲しい。

この二つの要件に応じるには、二つのテクニックを使えば良いという事はすぐに思いついた。

1については、条件付き書式で容易に実現出来る。条件はセル範囲に対しても行えるし、複数のセル範囲にも行えるので活用すると便利だと思う。あくまでも見た目の操作になると思うので色を変えるとかフォントを変えるとか、入力値が基準内にあるのかどうかのチェックにはもってこいだった。ちなみに空白セルは0として扱われるらしく、ある値以上、ある値以下で条件づけると以下にマッチしてしまうので、ゼロにマッチした場合には見た目変化しない様にする条件を定義する必要があり、以上、以下、ゼロの三つを定義した。

課題は、値がある値以上、ある値以下をチェックしてその個数をカウントする方だ。どうやって実現しようかなと思って適当に関数名をCountと入力すると「COUNTIF」という関数がサジェストされてきた。加えて「COUNTIFS」という複数条件を定義出来るCOUNTIFも有る事を知ったのでこれは行けそうだなと思った次第。

続きを読む

.NET Micro Frameworkハッカソン事前勉強会に行って来ました

組み込み系の開発をMicrosoft Visual Studioで行う方法に、Microsoft .NET Micro Frameworkという方法があります。以前参加させてもらったC#系のプログラミング勉強会でその存在を教えてもらい、Arduino等のハードウェア系+プログラミングに興味を持っている私としては結構興味惹かれるものがあったわけです。私はハードウェア寄りの業務に携わってきた期間が長かったので、プログラミングは高度な事ができなくても、案外今時の組み込み系ならいけるかもしれないっていう気がしています。

というのも、昔の組み込み系はC言語バリバリじゃないと出来ないみたいなイメージがあったのですが、もはや開発用のIDEもかなり親切な環境が整っていますし、使いやすいVisual Studioが使えるとなると「できるかも?」って思って当然ですね。ハードウェアの方はモジュール化されているものがほとんどなので(独自に作るとなると結構ハードルは上がりそう)、そっちの方はスペックシートを読む位は英語でも全然問題ないと思っています。デジタルがまだ特殊な時代から電子回路をやってきた事が活かせるかもしれないと思うとちょっと嬉しいです。

今回、勉強会に使わせていただいた勉強会の開催場所はJR大阪駅のすぐ近くにある、ブリーゼタワーにあるフェンリルという会社です。こんな社名は稀なので、Sleipnir(スレイプニル)なんかを作ってるメーカーさんと分かりますね(私もAndroidデバイスで使わせていただいてます)。しかし当日は蒸し暑さが異常でした・・(大汗

.NET Micro Frameworkハッカソン事前勉強会B-Side – VSハッカソン倶楽部 | Doorkeeper

続きを読む

LINQ勉強会に行って来ました

タイトルの通りですが、LINQというプログラミング手法の学習を行う勉強会に参加して来ました。開催場所の大阪のグリー株式会社は阪急梅田駅から徒歩10分位なので近いです。綺麗なオフィスビルなのでなんだか久しぶりにサラリーマンに戻った気分です(w

LINQ勉強会 : ATND

多分主催の方達がグリーの関係者だと思います。40名位は入れるミーティングルームで、プロジェクターも有って、電源も使用出来る。非常に良い環境で勉強会を開催してくださって本当にありがたいことです。

Microsoft社のバックアップがあるのかどうかわかりませんが、ロゴ入りボールペンをいただいたり、なんとWindows8(非売品)をじゃんけん勝ち取りプレゼント等、その他にも色々あって、リッチな勉強会だなって思いました。きっとグリーとマイクロソフトが会社つながりで何かあるんだろうなぁ(あくまでも想像です)。

続きを読む

Arduinoがジワジワ流行の兆し

どうやらブームの兆しが出てきた様です。あちこちで「Arduino(アルドゥイーノ)」という言葉をみかける様になってきました。Lチカから始まって、もっと独創的なアイディアも考えられている様ですが、必ずしもハードウェアエンジニア的な知識がある人だけが手にとっている訳ではなさそうです。Arduinoが非常に購入しやすい価格で売られている&わかりやすい解説が多く出まわっている成果でしょう。

Arduino UNO R3

Arduino UNO R3

こういう機器は、いわゆるデジタル制御なのでデジタル機器と一括りにされがちですが、接続するセンサー類は、ほぼ間違いなく「アナログ」な素子だったりする訳です。例えば温度センサー(サーミスタ)にしても、温度変化によって抵抗値が激しく変化するアナログ素子です。その変化をデジタル値に変換する機能がArduinoには備わっているので、適切な電流値になる様、抵抗器と合わせて接続するだけで良いのです。

厳密に言えば本当はアナログ回路的な知識が必要です。電流を適正値に制御してやらないと最悪破損してしまいます。しかしちょっとしたコツというかルールを覚えてしまえば、Arduinoに色々なセンサー素子を接続して、それをデジタル値に変換して使用することが簡単にできちゃいます。

しかし課題もあります。絶対的な値(例えば摂氏15.6度)と言う値を正確に検出しようとすると、センサー素子と、Arduinoのアナログ値->デジタル値変換の部分でチューニングが必要です。校正と言った方が良いかも知れませんが、信頼出来る温度計で計測しながら、個体差による誤差を調整する手間が発生する訳です。素子によってばらつきもあります。過去に多くの計測器を扱う仕事をしてきましたが、絶対値を正確に計測しなくてはならない用途では、この校正が欠かせないものです。法令点検に使用する計測器は年に一度、認可を受けた機関で校正しなくてはならないなんていう決まりがあったりもします。

しかし、ざっくりとした値がわかれば良い。また絶対値ではなく、相対値であれば校正など必要ありません。基準となる値からどれだけ変化したか?という事がわかれば良いのですから、それはプログラミング次第といったところでしょう。強いて言えば、サーミスタの場合なら、1度の変化で何ステップ値が変化するか?といった情報は把握していないと温度センサーとしてのプログラミングは出来ないかも知れません。これがピンと来なくても実際にやってみると何を言っているのかご理解いただけると思います。

続きを読む

「MISSION C」でC言語のレッスンを

日経ソフトウェアの最新号(20113年6月号)を購入しました。
本を読みたかったのでは無くて、付録しているCD-ROM目当てです。

C言語は直接は学習したことが無いのですが、かつてC++で痛い目に遭って、プログラミングにトラウマを負って以来、C言語、C++言語は苦手意識が強いのをずっと自覚しています。C#が思いの外わかり易かったので現在はC#メインにしていますが、C言語は基本的な知識でもあるし、Linux環境で有利なので出来れば基本スキル位は身につけたいと思っていました。

付録の「MISSION C」は、2003年に発売された声優を使ったフルボイスのFlashコンテンツで構成されたレッスンCD-ROM書籍がベースです。このCD-ROM書籍はプレミアがついて結構な価格で取引されていた様ですが、どうやら今月号に付録させることになって相場が下落気味ですね。

現在のWindows(XPから8まで)に対応させる修正をして、今更ながら月刊誌に付録として発売されたものですが、私は旧版を持ってないので比較は出来ません。しかし、恐らく今更大きく内容が変更されることは無いと思いますので、発売当時のオリジナル版と大差は無いのではないかと思っています。間違えてる部分等が有った場合は、この機会に内容を修正してくれていたらそれはありがたいことです。

書籍の方は、最近のプログラミング本で主流のAndroidアプリ開発をはじめ、スマートフォンアプリの開発についての記事が多く見られます。新連載記事が5つあるので、読んでみて継続したいと思ったら来月から買い続けるかも知れません。ま、購入の動機として本はあくまでもオマケです。