【Excel】IF文で空白を判定し、計算式を分岐させる。
見かけは難しそうだけど、一度やれば分かること。
はろー、yukiです。
Excelでデータを扱う機会があり、その際にIF文を使用したので、忘れないようにメモ。
○今回すること
ーーーーーーーーーーーーーーー
- IF文で条件式を設定。
- 条件が「真」の場合の計算式を設定。
- 条件が「偽」の場合の計算式を設定。
ーーーーーーーーーーーーーーー
まずは下記の画像をご覧ください。
「日付」と「商品名」は基本事項。
「買い」には買った時の値段、「売り」には売った時の値段があります。
「個数」も大丈夫ですね。
「手数料」は「買い」と「売り」で金額が異なっています。
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[[#この行],[手数料]]
「価格」と「手数料」を減算する。
つまり、「売り」の価格の時、「手数料」分が天引きされるということです。
解説は以上になります。
まあ、項目ごとに
=セル*セル
のようにしても結果は同じですが、かかる時間は全く違いますね。
特に、後半の「手数料」の計算時、何も考えずにオートフィルを使用すると計算が滅茶苦茶になってしまいます。条件分岐はとても大事ですね。
あと、頭の体操になって良いです。
以上。