Excelの条件分岐の関数をAIに作ってもらうのが一番早いようだ
昔はリファレンスを見ながら、シコシコ作っていたんだよな、それがあら不思議できあがりの時代です。
便利な物はどんどん使え。
条件の整理をして関数を作ってもらう
おじさんはわざわざ、条件を平文で打ちました。(頭が悪い)
A≦0.6のとき、Bが0以上10以下の時は文字列0を返す、A≦0.6のとき、Bが10より大きく20以下の時は文字列1/3を返す、Aが0.6より大きく0.8以下の時、Bが0以上10以下の時は文字列「1/3」を返す、Aが0.6より大きく0.8以下の時、Bが10より大きく20以下の時は文字列「2/3」を返す、Aが0.8以上1.0以下の時、Bが0以上10以下の時は文字列「2/3」を返す、Aが0.8以上1.0以下の時、Bが10より大きく20以下の時は文字列「1」を返す、Aが1より大きいときはBがどの条件でも文字列を返さない。
条件の整理(マトリクス)を吐き出してくれた
| Aの範囲 | Bが0以上10以下 | Bが10より大きく20以下 | Bがそれ以外、またはA>1 |
|---|---|---|---|
| A ≦ 0.6 | "0" | "1/3" | (空白) |
| 0.6 < A ≦ 0.8 | "1/3" | "2/3" | (空白) |
| 0.8 ≦ A ≦ 1.0 | "2/3" | "1" | (空白) |
| 1.0 < A | (空白) | (空白) | (空白) |
そのまま使えるExcel数式
Aの値が A2セル、Bの値が B2セル に入っている場合の数式です。 条件を順番に判定していく IFS関数 を使うのが最もシンプルで分かりやすくなります。
Excel
=IFS(
AND(A2<=0.6, B2>=0, B2<=10), "0",
AND(A2<=0.6, B2>10, B2<=20), "1/3",
AND(A2>0.6, A2<=0.8, B2>=0, B2<=10), "1/3",
AND(A2>0.6, A2<=0.8, B2>10, B2<=20), "2/3",
AND(A2>=0.8, A2<=1.0, B2>=0, B2<=10), "2/3",
AND(A2>=0.8, A2<=1.0, B2>10, B2<=20), "1",
TRUE, ""
)
数式のポイント
AND(A2>=0.8, A2<=1.0, B2>10, B2<=20), "1"のように、それぞれの条件を正確にANDで組み合わせています。最後の
TRUE, ""は、「これまでのどの条件にも当てはまらない場合(Aが1より大きいとき、またはBが0未満や20より大きいときなど)は、文字列を返さない(空白""にする)」という指定です。
画像データを入れても勝手に作ってくれる(自爆)

よく見るこれです。これを動かすためのExcelの関数を作ってもらいます。
出来上がりました
画像認識してくれるのね。何がしたいのかも勝手に忖度してくれた。
ご提示いただいた画像の表(液状化判定等の実務で使われる「
に応じた土質定数に乗じる係数」の表ですね)に基づき、条件を完全に反映したExcel関数を作成しました。
先ほどご指定いただいたセル位置(
の値=
I9、地表面からの深度の値=
B9)をベースに、画像通りの不等号(0.8 < FLなどの条件)を正確に反映しています。また、「値がない(空白)とき」や「1より大きいとき」はハイフン「-」を返すルールも組み込んでいます。Excelのセルにそのままコピー&ペーストしてご使用ください。
=IFS(
I9="", "-",
I9>1, "-",
AND(I9<=0.6, B9>=0, B9<=10), "0",
AND(I9<=0.6, B9>10, B9<=20), "1/3",
AND(I9>0.6, I9<=0.8, B9>=0, B9<=10), "1/3",
AND(I9>0.6, I9<=0.8, B9>10, B9<=20), "2/3",
AND(I9>0.8, I9<=1.0, B9>=0, B9<=10), "2/3",
AND(I9>0.8, I9<=1.0, B9>10, B9<=20), "1",
TRUE, ""
)
もう時代は変わった。
