IF関数で複数分岐

牛さんをそれほど大きくない長方形の放牧地に放牧をした実験の結果。
長方形の放牧地を、短い辺をA〜E、長いほうを1〜14に5×14に区切り、牛さんの放牧地での移動軌跡を目視観察で記録し、将棋の記譜のように記録した。
牛さんの位置情報が5分ごとに24時間分、"A-15"のように、アルファベット+数字で記録されているというデータが手元にある。


アルファベットのデータというのは、RやExcelで解析するときに非常に都合が悪い*1
そこで、A=1、B=2...E=5と、アルファベットを数字に置き換えて解析用のデータにしたい。


Rを使ってしまうとたぶんものすごく簡単だし面白味もないので、ここはOpenOffice(笑)*2を使おうと思う。


使う関数はIF関数。
IF関数→IF(テスト; そのときの値; "OtherwiseValue")
テストはTureかFalseになる値、または式。
ThenValue (オプション) は、論理テストが TRUE の場合に返される値。
OtherwiseValue (オプション) は、論理テストが FALSE の場合に返される値。

なので、テストに「セル="A"*3」。ThenValueに1と入れれば、セルにAと入っていれば1と返してくれる。
これを、Bの時、Cの時...と5個作ればOK!!!



とかすごく面倒ですし、列を無駄遣いしていますね。
できればいっぺんに全部済ませてしまいたいところです。
つまり

セルの文字が"A"→出力=1、"B"→出力=2、"C"→出力=3、"D"→出力=4、"E"→出力=5

となるようなIF関数を書けばいい。
めんどいからできた式を先に書く。

=IF(C9="A";1;IF(C9="B";2;IF(C9="C";3;IF(C9="D";4;IF(C9="E";5)))))

もし、C9のセルが"A"なら1を返して、"A"じゃなくてそれが"B"の場合は2を返して、"A"じゃなくてそれが"B"でもなくて"C"の場合は3を返して...
とOtherwiseValueにどんどんIF式を重ねて書いていった感じ。
あとはこれをオートフィルで、アルファベットで記入したデータのセルに対してすべて行えば、アルファベット→数字の変更が可能になります!!


...さて



ここまで読んで、「えっ、アルファベットが入力されたセルを選択して、メニューバーから"編集"→"検索と置換"で、検索にアルファベット(A)、置換に数字(1)って入れれば一発でできね?と思った人とかいると思います!!

別に知らなかったわけではなくて、忘れてただけです!!!!


...長々と書いたけど別に大したことないです。
悔しかったのでついカッとなって書きました。
後悔はしていません*4

*1:じゃあなんでアルファベットなんか使ったかというと、両方数字にすると疲れてくるとどっちがどっちかわからなくなって、誤記する可能性が非常に高いから。3-4を4-3と書いたりするミスがけっこうある。

*2:Sutudent's T-Testをヘルプで「生徒のT検定」と訳している愉快な無料の表計算ソフト。

*3:OpenOfficeでは、関数内で文字と認識させるとき""で括らないとエラーが出ます。忘れることが多いので注意です!!!

*4:初めてOpenOfficeの関数とかいじったから1時間くらいかかった