![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
if関数とifs関数は組み合わせることはできますか。
セルA1が「A」のとき「向日葵」と表示。
セルA1が「B」であるときは
セルA2が
10以下の場合は「松」
20以下の場合は「竹」
30以下の場合は「梅」
と表示し、
上記の条件を満たさないときは
セルA3が
10以下の場合は「桜」
20以下の場合は「桃」
30以下の場合は「菊」
40以下の場合は「楓」
50以下の場合は「紅葉」
と表示。
それ以外は「該当なし」と表示。
↑
こちらをif関数とifs関数を使って値をかえすうにしたいのですがどのように設定するとよいでしょうか。
No.1ベストアンサー
- 回答日時:
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,"該当なし")
No.4
- 回答日時:
No.3です。
前回回答にミスがありました。>【0以上11未満とのき「松」】(0以上10以下のとき「松」)、【11以上21
>未満とのき「竹」】(10以上20以下のとき「竹」)、・・・という意味になりま
>す。
は誤りで
【0以上11未満とのき「松」】(0以上10以下のとき「松」)、【11以上21未満とのき「竹」】(10超20以下のとき「竹」)、・・・という意味になります。
が正しいことになります。
お詫びして訂正いたします。
No.3
- 回答日時:
>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](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/2/142736_63dd38faa8d60/M.png)
No.2
- 回答日時:
以下の計算式を使用します。
=IF(A1="A", "向日葵",
IF(A1="B",
IFS(A2<=10, "松", A2<=20, "竹", A2<=30, "梅",
IFS(A3<=10, "桜", A3<=20, "桃", A3<=30, "菊", A3<=40, "楓", A3<=50, "紅葉", "該当なし")
), "該当なし"))
追加質問にまで回答いただきましてありがとうございます!
組み合わせることも可能なのですね。
こちらを参考に、問題解決しそうです(^-^)
本当にたすかりました。
感謝いたしますm(._.)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
【Excel VBA】指定行以降をクリ...
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
VBSでエクセル内の行数を取得す...
-
特定の文字を条件に行挿入とそ...
-
連続する複数のセル値がすべて0...
-
vba 隣のセルに値がある行だけ...
-
VBAでセル同士を比較して色付け
-
EXCELのVBA-フィルタ抽出後の...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
Book1のセルへ別Book(Book2)...
-
Excel VBA、 別ブックの最終行...
-
【VBA】指定したセルと同じ値で...
-
DataGridViewでコードで値を入...
-
VBからEXCELのセルの値を取得す...
-
VBA ユーザーフォーム ボタンク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
【Excel VBA】指定行以降をクリ...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
Excelで指定した日付から過去の...
-
VBAの間違い教えて下さい
-
【Excel】指定したセルの名前で...
-
Excelのプルダウンで2列分の情...
-
エクセルVBAでコピーして順...
-
Excel vbaで特定の文字以外が入...
-
Excel VBA、 別ブックの最終行...
-
【VBA】指定したセルと同じ値で...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
VBA初心者です。次のVBAコード...
-
指定した条件で行セルを非表示...
-
VBAでセルをクリックする回...
-
DataGridViewの各セル幅を自由...
おすすめ情報
kokorororo様
とてもわかりやすい回答ありがとうございます!
理解いたしました。
ifとifsを組み合わせることもできるのでしょうか。
たとえば、
=if(ifs(・・・・・
みたいな式です。
いろいろきいてしまって申し訳ありません。
セルA1が「A」のとき「向日葵」と表示。
セルA1が「B」であるときは
セルA2が
10以下の場合は「松」
20以下の場合は「竹」
30以下の場合は「梅」
と表示し、
上記の条件を満たさないときは
セルA3が
10以下の場合は「桜」
20以下の場合は「桃」
30以下の場合は「菊」
※40以下の場合はA4セルが◎のときは「楓」、◯のときは「栗」、✕のときは「百合」
50以下の場合は「紅葉」
それ以外は「該当なし」と表示。
↑
A3が40以下の場合、さらに条件が増えた場合のif関数の式も教えていただけますとたすかります_(._.)_