雪ん子パースペクティヴ

読むとちょっとタメになるエントリー。コメントあると嬉しいです。

【Excel】IF文で空白を判定し、計算式を分岐させる。

見かけは難しそうだけど、一度やれば分かること。

 

はろー、yukiです。

 

Excelでデータを扱う機会があり、その際にIF文を使用したので、忘れないようにメモ。

○今回すること

ーーーーーーーーーーーーーーー

  1. IF文で条件式を設定。
  2. 条件が「真」の場合の計算式を設定。
  3. 条件が「偽」の場合の計算式を設定。

ーーーーーーーーーーーーーーー

まずは下記の画像をご覧ください。

f:id:yuki_sasano:20170226182935j:plain

「日付」と「商品名」は基本事項。

「買い」には買った時の値段、「売り」には売った時の値段があります。

「個数」も大丈夫ですね。

「手数料」は「買い」と「売り」で金額が異なっています。

IF文を使用しているのは、「価格」「受渡」の2つになります。

 

「価格」のセルにある式は次のようになります。※テーブルを使用しているのでとても長い。

=IF(テーブル1[[#この行],[売り]]="", テーブル1[[#この行],[買い]]*テーブル1[[#この行],[個数]],テーブル1[[#この行],[売り]]*テーブル1[[#この行],[個数]])

 

順番にみていきましょう。

1. IF文で条件式を設定。

=IF(テーブル1[[#この行],[売り]]=""

「売り」のセルが空白の場合、という意味です。

条件式を設定した後、「,(カンマ)」で区切ります。

 

2. 条件が「真」の場合の計算式を設定。

テーブル1[[#この行],[買い]]*テーブル1[[#この行],[個数]]

「買い」と「個数」を乗算します。

つまり、「売り」に価格がない(空白)ので、「買い」にある価格で計算をするということです。

計算式を設定した後、「,(カンマ)」で区切ります。

 

3. 条件が「偽」の場合の計算式を設定。

テーブル1[[#この行],[売り]]*テーブル1[[#この行],[個数]]

「売り」と「個数」を乗算します。

つまり、「売り」に価格があるので、「売り」にある価格で計算をするということです。

 計算式を設定した後、「)(閉じカッコ)」を忘れずに。

 

 

「受渡」のセルにある式は次のようになります。

=IF(テーブル1[[#この行],[売り]]="",テーブル1[[#この行],[価格]]+テーブル1[[#この行],[手数料]],テーブル1[[#この行],[価格]]-テーブル1[[#この行],[手数料]])

 

順番に解説をしていきます。

=IF(テーブル1[[#この行],[売り]]=""

「売り」のセルが空白の場合。

 

テーブル1[[#この行],[価格]]+テーブル1[[#この行],[手数料]] 

「価格」と「手数料」を加算する。

つまり、「買い」の価格の時、「手数料」が上乗せされるということです。

 

テーブル1[[#この行],[価格]]-テーブル1[[#この行],[手数料]] 

「価格」と「手数料」を減算する。

 つまり、「売り」の価格の時、「手数料」分が天引きされるということです。

 

 

解説は以上になります。

 

まあ、項目ごとに

=セル*セル

のようにしても結果は同じですが、かかる時間は全く違いますね。

特に、後半の「手数料」の計算時、何も考えずにオートフィルを使用すると計算が滅茶苦茶になってしまいます。条件分岐はとても大事ですね。

 

あと、頭の体操になって良いです。

 

以上。

 

 

Googleアドセンス