アプリ版:「スタンプのみでお礼する」機能のリリースについて

if関数とifs関数は組み合わせることはできますか。


セルA1が「A」のとき「向日葵」と表示。

セルA1が「B」であるときは
セルA2が
10以下の場合は「松」
20以下の場合は「竹」
30以下の場合は「梅」
と表示し、
上記の条件を満たさないときは
セルA3が
10以下の場合は「桜」
20以下の場合は「桃」
30以下の場合は「菊」
40以下の場合は「楓」
50以下の場合は「紅葉」
と表示。
それ以外は「該当なし」と表示。


こちらをif関数とifs関数を使って値をかえすうにしたいのですがどのように設定するとよいでしょうか。

質問者からの補足コメント

  • kokorororo様
    とてもわかりやすい回答ありがとうございます!
    理解いたしました。

    ifとifsを組み合わせることもできるのでしょうか。
    たとえば、
    =if(ifs(・・・・・

    みたいな式です。

      補足日時:2023/02/02 23:12
  • いろいろきいてしまって申し訳ありません。


    セルA1が「A」のとき「向日葵」と表示。

    セルA1が「B」であるときは
    セルA2が
    10以下の場合は「松」
    20以下の場合は「竹」
    30以下の場合は「梅」
    と表示し、
    上記の条件を満たさないときは
    セルA3が
    10以下の場合は「桜」
    20以下の場合は「桃」
    30以下の場合は「菊」
    ※40以下の場合はA4セルが◎のときは「楓」、◯のときは「栗」、✕のときは「百合」
    50以下の場合は「紅葉」
    それ以外は「該当なし」と表示。


    A3が40以下の場合、さらに条件が増えた場合のif関数の式も教えていただけますとたすかります_(._.)_

      補足日時:2023/02/02 23:21

A 回答 (4件)

Excelのif関数とifs関数を使って、上記の条件を満たす式を作成するには以下のようになります。



if関数を使用する場合:
C1セル: =IF(A1="A","向日葵",IF(A1="B",IF(A2<=10,"松",IF(A2<=20,"竹",IF(A2<=30,"梅",IF(A3<=10,"桜",IF(A3<=20,"桃",IF(A3<=30,"菊",IF(A3<=40,"楓",IF(A3<=50,"紅葉","該当なし"))))))))))
ifs関数を使用する場合:
C1セル: =IFS(A1="A","向日葵",A1="B"&A2<=10,"松",A1="B"&A2<=20,"竹",A1="B"&A2<=30,"梅",A3<=10,"桜",A3<=20,"桃",A3<=30,"菊",A3<=40,"楓",A3<=50,"紅葉",TRUE,"該当なし")
    • good
    • 1
この回答へのお礼

回答ありがとうございますm(._.)m
とてもわかりやすいです。
たすかりました!

お礼日時:2023/02/04 10:52

No.3です。

前回回答にミスがありました。

>【0以上11未満とのき「松」】(0以上10以下のとき「松」)、【11以上21
>未満とのき「竹」】(10以上20以下のとき「竹」)、・・・という意味になりま
>す。

は誤りで

【0以上11未満とのき「松」】(0以上10以下のとき「松」)、【11以上21未満とのき「竹」】(10超20以下のとき「竹」)、・・・という意味になります。

が正しいことになります。
お詫びして訂正いたします。
    • good
    • 0
この回答へのお礼

やってみます

どうもご丁寧にありがとうございます。m(._.)m
親身な回答感謝いたします。
こちらをぜひ活用させていただきますね!

お礼日時:2023/02/04 11:31

>A3が40以下の場合、さらに条件が増えた場合のif関数・・・


というご要望もあるようなので、IF関数一辺倒で突き進むのは難があります。
そこで、VLOOKUP関数を使った例を作成してみました。

添付画像をご覧ください。
VLOOKUPの近似値検索は検索値を超えない最大値を探すという機能があります。そこで、A2の値、A3の値、A4の値について、添付画像のように、ご質問者の説明どおりの条件表を作成しておきます。

このとき、10以下、20以下、30以下・・・という区分を表示するため、E列、H列に10、20、30、・・・という数字が見えていますが、「検索値を超えない最大値を探す」という機能を使って10以下という区分を判別にするために、実際には10、20、30・・・よりわずかに(1/10^13だけ)大きい数値を入力してあります。

※A2、A3に整数しか入力されない場合は「1/10^13」などという面倒な数値ではなく普通に1を足して、11、21、31・・・という数値を入力しておけばよいだけです。この場合、表の見方としては【0以上11未満とのき「松」】(0以上10以下のとき「松」)、【11以上21未満とのき「竹」】(10以上20以下のとき「竹」)、・・・という意味になります。

こうすると、A2、A3の入力値が10、20、30・・・ピッタリの場合ではも、見かけ上の10、20、30・・・が検索される訳ではなく、その一つ上の行が検索されることになります。

さて、ご質問者が説明した条件による判定結果をC1セルに表示させるものとします。C1セルに、

=IF(A1="A","向日葵",IF(A1="B",IFERROR(VLOOKUP(A2,$E$3:$F$6,2,1),IFERROR(VLOOKUP(A3,$H$3:$I$8,2,1),"")),""))

という数式を記述しています(AでもBでもない場合、結果は空白になるようにしました)。また、F6セルに、

=IFERROR(VLOOKUP(A3,$H$3:$I$8,2,1),"")

という数式を記述しています。さらに、I6セルに、

=IFERROR(VLOOKUP(A4,$K$3:$L$5,2,0),"")

という数式を記述しています。

E列、H列の0以外の数値は前述のとおり、見えている数値より1/10^13だけ大きい数値です。また、F列、I列の文字は数式以外は全て固定文字です。

このような仕掛けにしておくことで、「A3が40以下の場合、さらに条件が増えた場合」はA4の値の条件表の最下行に、新たな条件を追加していくことが可能になり、対応が容易になります。
「if関数とifs関数は組み合わせることは」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとう

とても詳しく回答してくださいまして本当にありがとうございます!
こんなやり方もあるのですね。
大変勉強になりました。

お礼日時:2023/02/04 10:55

以下の計算式を使用します。



=IF(A1="A", "向日葵",
IF(A1="B",
IFS(A2<=10, "松", A2<=20, "竹", A2<=30, "梅",
IFS(A3<=10, "桜", A3<=20, "桃", A3<=30, "菊", A3<=40, "楓", A3<=50, "紅葉", "該当なし")
), "該当なし"))
    • good
    • 0
この回答へのお礼

あなたに会えてよかった

追加質問にまで回答いただきましてありがとうございます!
組み合わせることも可能なのですね。
こちらを参考に、問題解決しそうです(^-^)
本当にたすかりました。
感謝いたしますm(._.)m

お礼日時:2023/02/04 10:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!