の最後に
今回は必要か不要か、『●』で判断しましたが、重器材やフィンは、ここにサイズを表示することによって、サイズごとに集計することも可能です!
とした部分。
で
尚、入れ子になった複雑なIF関数は、IFSという関数で表現することも出来ます。
とした部分。
今回は、レンタル器材の要・不要だけでなく、必要な場合までサイズを自動で表示しようという試みです。
前提条件
顧客名簿をExcelもしくはGoogleスプレッドシートで作っている場合に、今回の方法が威力を発揮します。
イメージはこんな感じ。
完成イメージ
必要なレンタル器材のサイズまで自動で表示されるようにします。
使用する関数-IFS
今回使用するのはIFSという関数です。
Excelを提供するMicrosoftによると
1 つ以上の条件が満たされているかどうかをチェックして、最初の TRUE 条件に対応する値を返します。IFS は、複数のネストした IF ステートメントに置き換えることができるため、複数の条件を読み込むのがより簡単です。
スプレッドシートを提供するGoogleによれば…
なぜかGoogleドキュメントエディタヘルプに説明がない関数なのですが、Excel同様に使用することが出来ます。
実際の挙動は以下の通りです。
灰色のセル(=場所)に『=IFS(B3<3,”small”,B3=3,”same”,B3>3,”big”)』と打ち込むことで、値に応じた文字列を表示しています。
この関数を訳してみると
“B3″の値が3より小さければ『small』と、”B3″が3と等しければ『same』と、”B3″が3より大きければ『big』と表示しなさい。
という意味です。
尚、IF関数のみを用いて以下の様に書いた場合と同じですが、こちらの方が若干スッキリしますね。
”=IF(B3<3 , “small” , IF(B3=3 , “same” , IF(B3>3,”big”)))”
こちらだと、条件が多くなってると最後のカッコがよくわからなくなるんです…
実装
今回はIF関数、VLOOKUP関数との組み合わせになります。
IF関数でレンタル器材の要・不要を判断し、IFS関数でサイズを判断させるイメージですね。
構文は以下の通り。
※フィンの例
“=IF(VLOOKUP(参加者のNo,顧客リストの範囲,フィンの所持を表す列番号,FALSE)=”●”,”-”,IFS(VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ未満ならSサイズを渡す足の大きさ,”S”,VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ未満ならMサイズを渡す足の大きさ,”M”,VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ以上ならLサイズを渡す足の大きさ,”L”))”
これまでになく長くなってしまいますが…
もう少し見やすくするとすればこんな感じでしょうか
“=IF(
VLOOKUP(参加者のNo,顧客リストの範囲,フィンの所持を表す列番号,FALSE)=”●”,”-”,
IFS(
VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ未満ならSサイズを渡す足の大きさ,”S”,
VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ未満ならMサイズを渡す足の大きさ,”M”,
VLOOKUP(参加者のNo,顧客リストの範囲,足のサイズを表す列番号,FALSE)<このサイズ以上ならLサイズを渡す足の大きさ,”L”
)
)”
実際にフィンの数式は以下の通りになっています。
”=IF(VLOOKUP($A6,’顧客リスト’!$A$2:$V$6,18,FALSE)=”●”,”-”,IFS(VLOOKUP($A6,’顧客リスト’!$A$2:$V$6,16,FALSE)<25,”S”,VLOOKUP($A6,’顧客リスト’!$A$2:$V$6,16,FALSE)<27,”M”,VLOOKUP($A6,’顧客リスト’!$A$2:$V$6,16,FALSE)>=27,”L”))”
かなり長い数式となってしまいますが、これをCOUNTIF関数で集計することで、レンタル器材をサイズごとに集計することが可能となります!