バイオインフォ道場、くまぞうです。
バイオインフォマティクスでは、表形式のデータをよく使います。表形式のデータ表示にはExcelがぴったりです。ちょっとしたデータ編集をすることもあります。こんなときに関数が使えると作業が捗ることがあります。わざわざプログラムやシェルスクリプトで対応する必要もないので簡単です。
Excel IF 関数
Excelでよく使う関数は、sum
・stdev
などの数値演算関数と、IF
(真・偽の状態で処理を分ける)などの論理演算の関数です。
例えば、データA・データBの2つの列で、BにおけるAの割合を各行で%計算したいとします。式をコピーすればいいだけなので簡単です(セルの固定などを利用すると、更に便利です)。しかし、問題が生じる場合があります。B列に「0」のセルが含まれていたり、文字が混ざっているセルでは計算できません。残念ながら、そのような状況にはよく遭遇します。このようなときにIF
を使えば、ちょっとの工夫で問題解決できます。
IFの書き方 論理式とTRUE・FALSE
論理式には、「セルの大小比較」や「セルがデータと一致するか?」などを入力することができます。「TRUEの場合」には「条件が成立した場合に実行したい処理」を、「FALSEの場合」には、「条件が成立しなかった場合に実行したい処理」を書きます。先程の例では、論理式は「B列が0でない」、TRUEの場合は「パーセント計算」、FALSEの場合は「”-“を表示」というような分岐処理を指定することができます。
IFの書式
=if(論理式, TRUEの場合, FALSEの場合)
IFの例
=if(B1<>0(B列が0でない), A1/B1(割合の計算), "-"(-を表示))
IFの書き方 「#DIV/0!」の回避
Excelで計算するとき、割り算の分母が「0」だとエラーになります。エラーが発生したセルは「#DIV/0!」と表示されます。エラーが表示される場合と、IF
でエラーを回避した例です。
Excel 関数の書き方
セルの先頭に=
を入力すると関数を直接入力することができます。慣れてきたら、こちらのほうが操作が簡潔で、速く入力することができます。まだ慣れない場合は、関数を入力したいセルでメニューバーの「挿入〜関数」を選ぶと、関数入力画面が表示されます。(論理)一覧から、IF
を選んで入力します。ダブルクリックでIF
を選ぶと、より詳しく条件を入力できる画面になります。尚、Excelでは、IF
以外にも色々な関数を使うことができます。
挿入〜関数(ダブルクリック)
関数 if Excel・LibreOfficeは同じ
ExcelとLibreOffice Calcは互換があります。バイオインフォマティクスの解析用途でLinux OSのデスクトップパソコンを使っていても、Excelと同じようにデータの表示や編集が可能です。今回紹介したIF関数も同じように使うことができます。さすがに、色フィルターや枠線など、Excelの素晴らしさに追いつかないところもありますが、色々と試してみる価値はあります。今回は、関数入門として、よく使う論理演算IFについてまとめてみました。Excelで歯がゆい思いをした経験のある人も、関数の使い方を覚えてレベルアップしちゃいましょう!