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

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

IFS(イフス)は、複数の値をテストして指定された条件の真のときの値を返し、どの条件にも当てはまらない場合「#N/A」エラーになります
・関数IFS(読み方:イフス)
・書式=IF(論理式,真の場合,論理式,真の場合,論理式,真の場合,・・・)
・内容IFS 関数を使用して値または数式が複数の条件を満たしているかどうかをテストできます。(論理式,真の場合,)は最大127個テストできます。どの条件にも当てはまらない場合#N/A エラーになります
真の場合と表現しているので「偽の場合」は?と思いますが、 1つの論理式に対して真の場合を判断しているだけで、偽の場合は次の論理式に進み、 どの条件にも当てはまらない場合は「#N/A」エラーになります

=IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4,F3=5,5,F3=6,6,F3=7,7)
F3の値が1なら1、2なら2、3なら3を返します

IFS関数がうまくいかない原因の多くはIFS関数は
論理式を左から実行して一致したらそれ以上探しません

セルF3が1の場合
=IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4,F3=5,5,F3=6,6,F3=1,7)
結果:1
最後をF3=1にしても最初にF3=1を見つけているので
以降が一致していても無視されます

#N/A エラー:条件が見つからない場合
#VALUE! エラー:TRUE または FALSE 以外の値

上記は数字ですが真の場合が文字列の場合は「"(ダブルクォーテーション)」ではさむ必要があります。

サンプル
数字をアルファベット(大文字)にする


数字をアルファベット(小文字)にする


アルファベット(大文字小文字区別無)を数字にする

IFS関数のエラーを回避する方法

セルF3に1~4の数値が入る場合
=IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4)

セルF3がまだ未入力の場合を空白にする場合
=IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4,F3="","")
最後にF3が空白の場合空白を追加するとまだ未入力の場合空白になります

エラーすべてを空白にする場合
=IFERROR(IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4))
数式をIFERROR()に入れることですべてのエラーは空白になります

エラーの場合警告を表示する方法 =IFERROR(IFS(F3=1,1,F3=2,2,F3=3,3,F3=4,4),"1~4の数字を入力してください")
数式をIFERROR()に入れてエラーの場合のメッセージを表示


応用編)
BMI(ボディー・マス・インデックス)値の結果を出してみる

BMI値:体重kg ÷ (身長m)2

BMIは、体重と身長の関係から人の肥満度を示す体格指数です。
日本肥満学会の判定基準(成人:高校生以上)
指標 判定
18.5未満 低体重(痩せ型)
18.5~25未満  普通体重
25~30未満 肥満(1度)
30~35未満 肥満(2度)
35~40未満 肥満(3度)
40以上 肥満(4度)

上記の表を基にIFS()関数を使って判定します

  A B C D E F G
1        
2   名前 年齢 身長(cm) 体重(kg) BMI値 体形
3   一郎 56  177  49  15.64   普通体重
4   二朗 49  181  75  22.89   普通体重
5   三郎 71  170  65  22.49   普通体重
6   四朗 80  166  73  26.49   肥満(1度)
7   五郎 44  176  56  18.07   低体重(痩せ型)
8   六郎 40  169  58  20.3   普通体重

セルF3にBMI値がある場合
セルG3)
※セルF3)=ROUNDDOWN(D3/((E3/100)*(E3/100)),2)

不等式の使い方
< 未満
<= 以下
>= 以上

IFS関数が使えない場合、IF関数で上記の式は
セルG3)
となります

論理式をよく見ると

1番目の論理式:F3<18.5
2番目の論理式:F3<25
3番目の論理式:F3<30
4番目の論理式:F3<35
5番目の論理式:F3<40

数値が17や18の場合、全部条件を満たしていますが、IFS関数は論理式を左から実行して一致したらそれ以上探さないので、最初のF3<18.5が判定されます
不等式を使う場合以下や未満の場合は小さい数字から論理式を設定する必要があります
おまけ(身長と体重を入力して判定をクリックしてください)

身長cm  体重kg  BMI値:19.03 判定:普通体重 

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

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

=IF(論理式,真の場合,論理式,真の場合,論理式,真の場合,・・・)
「真の場合」の値は省略できますが省略した場合

Googleスプレッドシートでは「空白」になり
エクセルでは「0」になります

IF関数の引数を省略した場合と同じく
SUM関数や合計値なら問題ありませんが
COUNT関数やAVERAGE関数などでは結果が変わってきます
「空白」は無視されますが「0」はカウントされます

=IFS(F3=1,)
上記はGoogleスプレッドシートではF3が1の場合「空白」になり、
そのセルをCOUNT関数で数えても含まれませんが

=COUNT(IFS(F3=1,))
と中に入れると結果は「1」とカウントされます



IFS(イフス)>HOME

Googleスプレッドシート関数

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

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

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

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

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

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

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

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

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

(C) 2001-2023 Digital World