excel-logo

先日、下記のような一塩基多型データを受け取った。

データ

その場所のSNPは C or T。

このデータから、

  • a1/a2 ともに C だったら「CC」
  • a1/a2 の片方が C で片方が T だったら「CT」
  • a1/a2 ともに T だったら「TT]
  • それ以外(空欄)だったら「NA」

と入力したい。

これを Excel で作業するときには、「IF関数」と「AND関数」を組み合わせる。

IF関数

IF関数は論理関数の一つ。

条件を満たすかどうかを判断し、TRUE か FALSE を返す。

IF関数

使い方は、

IF関数
= IF(論理式,TRUEの場合の戻り値,FALSEの場合の戻り値)

第1因数:論理式

1番目の因数は論理式で、条件を指定する。

大なり、小なり、等しい、異なる、などの「比較演算子」を使う。

条件式 意味
A > B A は B よりも大きい
A >= B A は B 以上
A < B A は B よりも小さい
A <= B A は B 以下
A = B A は B と等しい
A <> B A と B とは等しくない

第2引数:値が TRUE の場合に返す値

第2引数は「値が TRUE の場合に返す値」を指定する。

文字列を指定するときは、ダブルクォーテーションマーク「"」で囲む。

第3引数:値が FALSE の場合に返す値

第2引数は「値が FALSE の場合に返す値」を指定する。

文字列を指定するときは、ダブルクォーテーションマーク「"」で囲む。

IF関数:実践

IF関数を使って、例えば A2 セルが T だったら、C2 セルに "○"、そうじゃなかったら "✕" と返してみる。

=IF(A2="T","○","✕")

excel-if-3

この場合、A2 には "C" が入っていて FALSE なので、C2 には「✕」が返る。

excel-if-4

IF関数をネストにする

IF関数は、入れ子(ネスト)にして組み合わせる事ができる。

条件式の値が FALSE だった場合の値に対して、次のIF関数を入れていく。

IF関数のネスト

IF関数のネスト:実践

例えば A2 セルが T だったら、C2 セルに "○"、C だったら "△", どちらでもなかったら "✕" と返してみる。

=IF(A2="T","○",IF(A2="C","△","✕"))

この場合、A2 には "C" が入っていて 第1論理式は FALSE 、第2論理式は TRUE なので、C2 には「△」が返る。

AND 関数

今回は、2つのセルを条件に組み入れたい。

その場合は「AND関数」を組み合わせる。

AND関数は、「○○ かつ △△ かつ ...」のように、複数の条件をまとめる事ができる。

AND関数
=AND(論理式1, 論理式2, …)

ちなみに、「〇〇 もしくは △△ もしくは ...」の条件の場合は、「OR関数」を使う。

AND関数:実践

例えば A2 セルが T で、B2 セルが T だったら、C2 セルに "○"、そうじゃなかったら "✕" と返してみる。

=IF(AND(A2="T",B2="T"),"○","✕")

excel-if-8

この場合、A2 と B2 には "C" が入っていて、条件に満たないので、FALSE の場合の値 "✕" が返る。

excel-if-9

IF関数(ネスト)とAND関数を組み合わせて目的の値を返す

とゆーことで、もらったデータから、

  • a1/a2 ともに C だったら「CC」
  • a1/a2 の片方が C で片方が T だったら「CT」
  • a1/a2 ともに T だったら「TT]
  • それ以外(空欄etc.)だったら「NA」

と入力したい場合、C2 に下記のように記述する。

=IF(AND(A2="C",B2="C"),"CC",IF(AND(A2="C",B2="T"),"CT",IF(AND(A2="T",B2="T"),"TT","NA")))

IF関数 と AND関数

A2 は "C", B2 は "C" なので、C2 には "CC" が返る。

excel-if-11

あとは、オートフィル機能で、下のセルを一括で埋めればOK。

excel-if-12
にほんブログ村 子育てブログ ワーキングマザー育児へ