IF(イフ)Googleスプレッドシート関数

IF(イフ)関数は指定した条件が 真のとき TRUE(真)の値を返し、偽のとき FALSE(偽)の値を返します。
値または数式が条件を満たしているかどうかをテストできます。
・関数IF(イフ)
・書式=IF(論理式,真の場合,偽の場合)
・内容IF 関数を使用して値または数式が条件を満たしているかどうかをテストできます。
使い方
IF関数は良く使う便利な関数です
論理式に対して真の場合と偽の場合の答えを出します。
例1)=IF(1=1,"2","3") 結果は 2
例2)=IF(B4=C4,"正解","不正解")
未入力のセルを計算せず空白にするには
=IF(B4="","","1+2") B4が入力されているときだけ数式を実行
複数条件指定「AND」と「OR」
「AND」は全てが複数条件を満たしているとき「真」
例3)=IF((AND(B4=C4,B5=C5,B6=C6)),"正解","不正解")
「OR」はどれか1つでも複数条件を満たしているとき「真」
例4)=IF((OR(B4=C4,B5=C5,B6=C6)),"正解","不正解")
スプレッドシートサンプル1
  A B C D E F G H
1              
2     国語 算数 理科 社会  計  合否
3   鈴木 86 73 70 90 319 合格
4   佐藤 76 69 65 72 282 追試
5   小林 60 88 90 62 300 合格
6   高橋 98 95 95 90 378 合格
7                
スプレッドシートサンプル1の”セル H4”の数式
 数式1 =IF(G4>=300,"合格","追試") G4が300以上だと合格
 数式2 =IF(G4<300,"追試","合格") G4が300未満だと追試

・合格に複数条件を付ける場合
(1教科最低点65点、合計が300以上だと合格)
=IF(AND(C4>=65,D4>=65,E4>=65,F4>=65,G4>=300),"合格","追試")

数式1、数式2のような合計点ではどちらも一緒の結果になりますが
平均点の場合小数点以下が発生する場合があります

例えば平均点が「80」の場合スプレッドシートでは「79.5」も「80」と表示されます

スプレッドシートサンプル2
  A B C D E F G H
1              
2     国語 算数 理科 社会 平均点 合否
3   鈴木 86 73 70 90 80 追試
4   佐藤 76 69 65 72 71 追試
5   小林 60 88 90 62 75 追試
6   高橋 98 95 95 90 95 合格
7                
上記の式はG列で「=AVERAGE(C3:G3)」と平均点を出しています
ところが鈴木さんは80点なのに追試となっています
これは「=AVERAGE(C3:G3)」の結果が「79.750」で
表示設定で表示を小数点以下無しを設定した場合に起こります

本当の数字は「79.750」なのに四捨五入された数値が表示されるからです
四捨五入の誤差をなくすために参照する数値は必ず「ROUNDDOWN」しましょう
これはテスト結果なので80点に満たないものは追試なので切り捨て関数の「ROUNDDOWN」を使いますが 四捨五入でも良い場合は四捨五入関数の「ROUND」を使用します
ROUND」や「ROUNDDOWN」を使うことで見えない小数点以下がなくなります。

「=AVERAGE(C3:G3)」の結果を「=ROUNDDOWN(AVERAGE(C3:G3),0)」「ROUNDDOWN」で囲み0桁目を切り捨てます

スプレッドシートサンプル3
  A B C D E F G H
1              
2     国語 算数 理科 社会 平均点 合否
3   鈴木 86 73 70 90 79 追試
4   佐藤 76 69 65 72 70 追試
5   小林 60 88 90 62 75 追試
6   高橋 98 95 95 90 94 合格
7                
G列の結果を「ROUNDDOWN」することで見た目と正しい結果になります


IF関数と組み合わせてよく使うスプレッドシート関数
 AVERAGE  空白や「0」のセルを無視した平均値
 AVERAGEA  空白や「0」のセルを含む平均値
 LARGE  範囲内の最大値
 SMALL  範囲内の最小値
 ROUNDDOWN   指定した桁数で切り捨て
 VLOOKUP   表の範囲を列から検索して呼び出す

エクセル(EXCEL)のIF 関数との違い
引数を省略した場合のみ結果が違います

=IF(論理式,真の場合,偽の場合)
「真の場合」と「偽の場合」の値を省略すると
「真の場合」は「TRUE」を返し
「偽の場合」は「FALSE」を返します

「偽の場合」を省略した場合
=IF(A2,)
A2に何も入力されていなければ偽なので「FALSE」を返します

=IF(1+1=2,)
「1+1=2」は真ですが
Googleスプレッドシートでは「空白」になり
エクセルでは「0」になります

SUM関数や合計値なら問題ありませんが
COUNT関数やAVERAGE関数などでは結果が変わってきます
「空白」は無視されますが「0」はカウントされます

なんで?と言われたら
スプレッドシートの表示がおかしい。

スプレッドシートでは
=IF(1+1=2,)
上記のセルはは空白になります
そのセルをCOUNT関数で範囲に入れてもカウントされませんが、

=COUNT(IF(1+1=2,))
とすると結果は1になります

スプレッドシートでの省略時の空白がおかしいと思われます

HOME

Googleスプレッドシート関数

ネット上からデータを取得する関数

DETECTLANGUAGE(ディテクトランゲージ) テキストで使用される言語を識別して言語コードを返します

GOOGLETRANSLATE(グーグルトランスレート) 言語コードを指定して表示されている言語を翻訳します

ISURL(イズユーアールエル) 指定した値が有効な URL であるかどうかを検証します

IMAGE(イメージ) セル内に画像のURLを指定することで画像を表示します

IMPORTDATA(インポートデーター) 指定したファイルからタブ区切り、カンマ区切りで文字列を抜き出します

IMPORTFEED(インポートフィード) RSSフィードやAtomフィードをインポートします

IMPORTHTML(インポートHTML) ページのソースからクエリを指定して文字列を抜き出します

IMPORTXML(インポートエックスエムエル) さまざまな種類のデータから文字列をインポートします

(C) 2001-2020 Digital World