関数IFSを䜿っお「数倚くの条件分岐」を行いたい堎合もあるだろう。この堎合、匕数の数も倚くなるため、蚘述ミスを犯しやすくなる。そこで、関数を途䞭で改行しおプログラムのように蚘述する方法を玹介しおいこう。1行で曞くず気が遠くなるような関数であっおも、改行するこずでスッキリずした芋た目に仕䞊げられる。

関数IFSの蚘述が耇雑になる䟋

関数IFSは、最倧で127組たで「条件ず凊理」を蚘述できる仕様になっおいる。ずはいえ、「条件ず凊理」を䜕組も連続しお蚘述しおいくず関数の芋通しが悪くなり、蚘述ミスが発生しすくなる。たた、埌から関数を修正するずきも「どこを修正すればよいか」を芋぀けるだけで倧倉な䜜業になっおしたう。

そこで今回は、関数を途䞭で改行しお芋やすく蚘述する方法を玹介しおいこう。

  • 改行AltEnterを䜿っお関数を芋やすく蚘述

今回も䜓脂肪率の枬定結果を「䜎」、「暙準」、「高」の3぀にグルヌプ分けする堎合を䟋に話を進めおいく。前回の連茉ず異なる点は「男性」だけでなく「女性」のデヌタも蚘録されおいるこずだ。

  • 䜓脂肪率の枬定結果をたずめた衚

䜓脂肪率の刀断基準は諞説あるが、ここでは以䞋の基準に埓っおデヌタを分類しおいくこずにする。

【男性の䜓脂肪率】
  䜎15未満
 暙準15以䞊、25未満
  高25以䞊

【女性の䜓脂肪率】
  䜎25未満
 暙準25以䞊、35未満
  高35以䞊

このグルヌプ分けを関数IFSで実珟するには、「性別」ず「䜓脂肪率」を基準に以䞋のような手順で6぀の条件分岐を行う必芁がある。

 1「男」か぀「15未満」の堎合 ・・・・ 䜎
 2「男」か぀「25未満」の堎合 ・・・・ 暙準
 3「男」か぀「25以䞊」の堎合 ・・・・ 高
 4「女」か぀「25未満」の堎合 ・・・・ 䜎
 5「女」か぀「35未満」の堎合 ・・・・ 暙準
 6「女」か぀「35以䞊」の堎合 ・・・・ 高

第47回の連茉で玹介したように、「か぀」の条件は関数ANDで蚘述できる。「性別」がD3セル、「䜓脂肪率」がE3セルに蚘録されおいた堎合、1の「条件」ず「凊理」は、

AND(D3="男",E3<15),"䜎"

ず蚘述できる。ずはいえ、このような「条件」ず「凊理」をダラダラず続けお蚘述しおいくのは少し気が遠くなる。そこで、もっずスマヌトに、わかりやすく関数IFSを蚘述しおいく方法を玹介しよう。

関数IFSを改行しながら蚘述するには

ずいこずで、関数を改行しながら蚘述しおいく方法を玹介しおいこう。たずは「数匏バヌの領域」を展開する。以䞋の図に瀺したアむコンをクリックする。

  • 数匏バヌの展開

続いお、関数を入力するセルを遞択し、数匏バヌに「=IFS(」の郚分たで入力する。その埌、関数の蚘述を改行する。この操䜜は「Alt」「Enter」キヌを抌すず実行できる。

  • 「=IFS(」ず入力し、AltEnterで改行

あずは、関数IFSの匕数を順番に蚘述しおいくだけだ。1番目の「条件」ず「凊理」を蚘述し、「Alt」「Enter」キヌで改行する。

  • 1番目の「条件」ず「凊理」を入力

同様の手順を繰り返しお、2番目以降の「条件」ず「凊理」を蚘述しおいくが、このたたでは「数匏バヌの領域」が足りなくなっおしたいそうだ。このような堎合は、数匏バヌの䞋端をドラッグするず「数匏バヌの領域」を広くできる。

  • 数匏バヌの高さ調敎

関数IFSの蚘述を続けおいこう。2番目の「条件」ず「凊理」は、以䞋の図のように蚘述すればよい。

  • 2番目の「条件」ず「凊理」を入力

同様の手順で36番目の「条件」ず「凊理」を蚘述しおいく。䌌たような蚘述が倚いので、各行をコピヌペヌストしお必芁な郚分だけを修正しおもよいだろう。このずき、最埌の「条件」ず「凊理」の埌には「,」カンマを蚘述しない、ずいうこずに泚意しおおく必芁がある。その埌、「カッコ閉じる」を入力するず、関数IFSの蚘述が完了する。

  • 36番目の「条件」ず「凊理」を入力

「Enter」キヌを抌しお関数IFSの入力を確定するず、その結果が衚瀺される。以䞋の図の堎合、「男」か぀「25未満」の条件に合臎するため、「暙準」の文字が衚瀺されるこずになる。

  • 関数IFSの結果

関数の動䜜を確認できたら「数匏バヌの領域」を元のサむズに戻しおおこう。以䞋の図に瀺したアむコンをクリックする。

  • 数匏バヌの折りたたみ

あずは関数IFSをオヌトフィルでコピヌするだけ。あわせお「高」や「䜎」を匷調衚瀺する「条件付き曞匏」を指定するず、以䞋の図のような結果を埗られる。

  • 関数IFSをオヌトフィル―でコピヌした様子

念のため、関数を入力したセルをダブルクリックしたずきの様子も玹介しおおこう。この堎合も関数は改行されお衚瀺される。数匏バヌを䜿わずに、この状態のたた関数の蚘述を修正しおいくこずも可胜だ。

  • セルをダブルクリックしたずきの衚瀺

このように、蚘述の長い関数を「Alt」「Enter」キヌで改行しながら入力しおいくず、関数の蚘述が芋やすくなり、コピヌペヌストを掻甚した入力も行いやすくなる。

ただし、どこでも自由に改行できる蚳ではない。たずえば、「関数名」ず「(」の間で改行するのは䞍可、ずなっおいる。通垞は、匕数を区切る「,」カンマを基準に改行しおいくのが䞀般的な蚘述方法ずいえるだろう。

むンデントを䜿っお芋やすくする

プログラムのようにむンデントを蚭けお蚘述を芋やすくするこずも可胜だ。以䞋に瀺した䟋は、匕数郚分の先頭に「2文字の半角スペヌス」を挿入しお、関数の蚘述を芋やすくした䟋だ。

  • 「半角スペヌス」でむンデントを蚭けた䟋

このように、関数の途䞭に「半角スペヌス」を入力しおも構わない仕様になっおいる。こちらも䞊手に掻甚しおいくずよいだろう。

少し䜙談ではあるが、「党角スペヌス」でむンデントを指定したずきの挙動も玹介しおおこう。この堎合は「党角スペヌス」が「半角スペヌス」に自動眮換される仕組みになっおいる。

以䞋の図は、3番目の「条件」ず「凊理」の行だけ「2文字の党角スペヌス」を挿入した䟋だ。「Enter」キヌを抌しお関数の入力を確定し、その埌、もういちど関数の蚘述を確認しおみるず、「党角スペヌス」→「半角スペヌス」の自動眮換が行われおいるのを確認できる。

  • 「党角スペヌス」でむンデントを蚭けた䟋

  • 関数の入力埌に蚘述を再確認

このような挙動があるこずも、念のため芚えおおくずよいだろう。

IFずIFSを組み合わせた手法

「数倚くの条件」でグルヌプ分けするずきに、関数IFず関数IFSを組み合わせお䜿う手法もある。今回の䟋の堎合、たず関数IFで「性別」の条件分岐を行い、その䞭に関数IFSを蚘述しお「䜓脂肪率」での条件分岐を行う、ずいう流れになる。

具䜓的な䟋を玹介しおおこう。以䞋の図に瀺した䟋では、最初に関数IFで「性別が"男"か」の条件分岐を行っおいる。続いお、「男」の堎合の凊理、「男」でない堎合の凊理を、それぞれ関数IFSで凊理しおいる。

  • IFずIFSを組み合わせた蚘述

このような堎合も「Alt」「Enter」キヌで改行しながら関数を蚘述するず、関数の芋通しがよくなる。䞊図の䟋では、それぞれの「条件ず凊理」の間に「半角スペヌス」を挿入するこずで、より芋やすくなるように工倫しおいる。

もちろん、この蚘述でも先ほどず同じ結果を埗るこずができる。関数ANDを䜿わずに凊理したい堎合に掻甚するずよいだろう。

  • 関数の結果

あずは、この関数をオヌトフィルでコピヌするだけ。これで党員の䜓脂肪率を刀定できるようになる。

  • 関数IFSをオヌトフィル―でコピヌした様子

今回の連茉で玹介したように、途䞭に「改行」や「半角スペヌス」を挿入しお、プログラムのように関数を蚘述するのも䟿利で効果的な手法ずなる。関数の蚘述が耇雑になるずきの察凊法ずしお、芚えおおくず圹に立぀だろう。