
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の値の条件表の最下行に、新たな条件を追加していくことが可能になり、対応が容易になります。

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を見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
Excel VBAでAA(BBB) → BBB.AA に置換したい
Visual Basic(VBA)
-
Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を
Excel(エクセル)
-
Excel 値を返す数式についてです
Excel(エクセル)
-
-
4
excelで同日を除いて数えたい
Excel(エクセル)
-
5
エクセルで重複しない組み合わせの出し方
Excel(エクセル)
-
6
エクセルのソート方法について
Excel(エクセル)
-
7
Excelで2つの条件のうちどちらかにあてはまるときの数式を教えてください。
Excel(エクセル)
-
8
Excel フィルタ後のコピー貼付けと可視セルの関係について
Excel(エクセル)
-
9
メモ帳からエクセルにセル区切りで表示させたいんです
Excel(エクセル)
-
10
EXCEL 和暦を西暦に変換する方法について
Excel(エクセル)
-
11
指定した値以上の中で最小値を出したい
Excel(エクセル)
-
12
初めてマクロを入力しますが、テキストとおりに入力したのに構文エラーです。修正を教えてください。
Visual Basic(VBA)
-
13
特定の条件で計算式を組みたいのですが、教えて頂けますでしょうか?
Excel(エクセル)
-
14
10円の誤差が分からない
Excel(エクセル)
-
15
【VBAエラー】Nextに対するForがありません 対策について
Visual Basic(VBA)
-
16
QRコード作成マクロについて
Visual Basic(VBA)
-
17
VBA言語プログラミング
Visual Basic(VBA)
-
18
エクセルで 例えばA1のセルに1+1 と入力すると B1のセルに2 と答えが出る関数があったと思いま
Excel(エクセル)
-
19
ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています
Visual Basic(VBA)
-
20
なぜこんな初歩的なVBAのIf文でエラーか発生して使えないのか、全く理解出来ません。誰か助けてくださ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
VBAで特定の場所にあるCSVファ...
-
5
特定の文字を含むシートだけマ...
-
6
VBAでPDFのアクティブページ番...
-
7
ExcelのVBAコードについて教え...
-
8
エクセルのマクロについて教え...
-
9
エクセルのマクロについて教え...
-
10
VBA Userformで一部別シートに...
-
11
ExcelのVBAコードについて教え...
-
12
VBA 別sheetからの転記なのですが
-
13
エクセルのエラーメッセージ「4...
-
14
Excel VABについて 下記記述が...
-
15
グラフの交点の求め方(Excel)
-
16
PDFファイルを開かずに印刷...
-
17
VBA シートのボタン名を変更し...
-
18
【Excel関数】別シートに日付順...
-
19
VBAマクロ実行時エラーの修正に...
-
20
特定のPCだけ動作しないVBAマク...
おすすめ情報
公式facebook
公式twitter
kokorororo様
とてもわかりやすい回答ありがとうございます!
理解いたしました。
ifとifsを組み合わせることもできるのでしょうか。
たとえば、
=if(ifs(・・・・・
みたいな式です。
いろいろきいてしまって申し訳ありません。
セルA1が「A」のとき「向日葵」と表示。
セルA1が「B」であるときは
セルA2が
10以下の場合は「松」
20以下の場合は「竹」
30以下の場合は「梅」
と表示し、
上記の条件を満たさないときは
セルA3が
10以下の場合は「桜」
20以下の場合は「桃」
30以下の場合は「菊」
※40以下の場合はA4セルが◎のときは「楓」、◯のときは「栗」、✕のときは「百合」
50以下の場合は「紅葉」
それ以外は「該当なし」と表示。
↑
A3が40以下の場合、さらに条件が増えた場合のif関数の式も教えていただけますとたすかります_(._.)_