エクセルのIF関数のネストについて

このQ&Aのポイント
  • エクセルで関数を利用して表を作りたい際、IF関数のネストでエラーが発生して困っています。解決方法を教えてください。
  • エクセルで関数を使って表を作りたいと思っていますが、IF関数のネストによるエラーが出てしまいます。どうすれば解決できるでしょうか?
  • エクセルの関数を使って表を作っているのですが、IF関数のネストでエラーが出てしまいます。どうやって解決すればいいですか?
回答を見る
  • ベストアンサー

エクセルのIF関数のネストについて

こんにちは。エクセルで関数を利用して表を作りたいのですが、IF関数のネストでエラーが出て困っています。 例えば、A1を入力規則で名前定義したドロップダウンリストから選択するようにしています。その選択した項目、例えばスパゲッティを選択するとB1は同じく入力規則でスパゲッティに対応したドロップダウンリストから選択できるようにし、A1をピザにするとピザに対応したリストから選択できるようにしたいのです。 このA1に該当する項目が今まで7項目でしたのでIFの繰り返しで使っていたのですが、この度13項目に増えることになりネスト回数が増えることでエラーになりました。 ややこしい説明で申し訳ないのですが、解決法を教えて下さい。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.3

実験してみてください。 別シート(仮にSheet2)に、  __A____B____C__ 1 大項目  パスタ   ピザ 2 パスタ  カルボ  ミックス 3 ピザ   ミラノ   アンチョビ 4      イカスミ と、入力 1.A1からA3を選択 2.「挿入」-「名前」-「作成」をクリック。 3.「名前の作成」ダイアログボックスで「上端行」にチェックをつけ「OK」ボタンをクリック。 4.B1からB4を選択して「2.」から「3.」を行う。 5.C1からC3を選択して「2.」から「3.」を行う。 6.このシートと別のシートの適当なセルをアクティブセルにして、  a.「挿入」-「名前」-「定義」をクリック。  b.「名前」ボックスに「大項目選択」と入力し「OK」ボタンをクリック。  c.「データ」-「入力規則」で「入力値の種類」に「リスト」、   「元の値」に「=大項目」と入力して「OK」をクリック。 7.「6.」で使った隣のセルをアクティブセルにして、  「データ」-「入力規則」で「入力値の種類」に「リスト」、  「元の値」に「=INDIRECT(大項目選択)」と入力して「OK」をクリック。 上記の設定して、 「6.」のセルの「▼」をクリックすると、「パスタ」、「ピザ」と表示されるので、どちらかを選択。 そこで隣のセルの「▼」をクリックすると、上記で選択した、「パスタ」か「ピザ」の種類に限定された選択肢になっているはずです。 このようにすれば、IFのネスト数に悩まされずにすみますし、アイテムが増えても、定義した「名前」が示す範囲を変更するだけですみます。

その他の回答 (2)

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.2

まず、エラーが出る式を提示しないと・・・ その式が意味する所を、別な関数で表記できるかどうかを判断するために。 ここから推測で、 その式は、B1に入れている式で、 IF関数を13個使おうとしたが IFのネストは7個までなので、 IF関数以外で出来る方法は有るでしょうか? と聞きたかったのでしょうか? A1に入力(リスト選択)は 13個に限定なので、(それ以上増えてもいいのですが) 13個に対応した数値を返す条件式を作ればいいような、・・・ ただ、増えた分、長~~~い式になりますが。 例えば、4項目 (入力していない場合も、考慮) (A1="")*0 + (A1="スパゲティ")*1 + (A1="ピザ")*2 + (A1="サンドイッチ")*3 + (A1="ケーキ")*4 ( )内がTRUE(値は1)なら それに乗算し、結果値を返す。 この結果値で、A1項目に準じたリストを選択できるようにする。 という方法でどうでしょう?

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.1

連動したドロップダウンリストの作り方が 下記のサイトに出ていますので、参考にしてください。 他にも色々と役立つことが書いてありますので参考に。

参考URL:
http://www.relief.jp/itnote/archives/000822.php

関連するQ&A

  • IF関数のネスト

    IF関数のネストについての質問です。 例えば、D1のセルに日付が入力してあり、 A4のセルの日付の月がD1の月と同じならば、 「今月」違うなら「エラー」と表示させたいのですが、 数式は解るのです。↓ =IF(MONTH($D$1)=MONTH(A4),"今月","エラー") ですが入力のしかたが解らないのです。 まず、fxの関数の挿入からIFを選択、論理式の部分に、 fxの左にある下矢印からMONTHを選択、 シリアル値はD1を絶対参照。 このあとがどうしていいのか解らないのです。 どなたか教えてください。 宜しくお願いします。

  • IF関数のネストについてどなたか教えてください。

    IF関数のネストについてどなたか教えてください。 ●の関数は手入力で入れたのですが、fxボタンでIFを呼び出して、名前ボックスからネストしていくと▲のような表示になってしまいエラーになってしまいます。 ● =IF(C23="","",IF(C23=10,"総務部",IF(C23=20,"経理部",IF(C23=30,"人事部","営業部")))) ▲ =IF(C23=IF(C23=IF(C23=IF(C24=30,"人事部","営業部")=20,"経理部")=10,"総務部")="","") ちなみに論理式、真の場合まではいいのですが、偽の場合の所で名前ボックスからIFを呼び出すと上記のような表示なってしまいおかしくなります。 どなたか助けていただけないでしょうか?

  • Excel2003の関数のネストの入力方法

    Excel2007のテキストでExcelを学んでしまったので、Excel2003の使い方が分からないので質問させて頂きます。 例えば、セルA1に入力されているVLOOKUP関数にエラーの場合、空白にするIF関数をネストさせたいのですが、Excel2007のテキストでは、関数をネストさせるのに、数式バーの左端の関数ボックスの▼をクリックし、関数を選択して、関数の引数ダイアログボックスでネストすることができたのに、Excel2003では、同じ操作をするとVLOOKUP関数が消えてしまい、IF関数しか入力できないのですが、Excel2003では、ネストさせる関数は、直接入力しないといけないのでしょうか?

  • if関数のネストについて教えてください

    エクセル2003です 関数につい勉強している前期高齢者です。 IF関数のネストについて教えてください。 A1 りんご A2 みかん A3 かき  と入力する表があります。 B1せるに A3が入力されているときはA3 A3が空白のときはA2 A3とA2が空白の時はA1 と表示させたいのですが =IF(A3="",A2,IF(AND(A3="",A2=""),A1,A3)) =IF(A3="",A2,IF(A2="",A1,A3)) の式では A3とA2が空白のときに「0」となり 「りんご」と表示されません。 A3とA2が空白のときに「りんご」と表示する 式の作り方を教えてください

  • エクセル 結合セルでも関数は使える?

    セルA1,B1,C1を1つに結合したセルにデータの入力規則を設定しドロップダウンリストから任意の項目を選択できるようにしました。このあと、ドロップダウンリストから例えばAという項目を選択したら、aという文字が隣のセルに表示されるようにしたいのですがどういう関数を使用すればよいですか?又この隣のセルというのもD1,E1,F1までのセルを結合していますが、関数は使えるのでしょうか?

  • エクセルのIF関数でネスト

    IF関数を使って、ひとつのセルに12回ネストを入れたいのですが、7回までしか出来ないとエラーが出てしまいます。方法は無いのでしょうか? 作っているのはローン表で、ローン回数に応じた金利が11種あります。回数が足りない場合とオーバーする場合いも入れたいのです。

  • 関数の中に関数を入れる事をネストを言うのでしょうか

    関数の中に関数を入れる事をネストを言うのでしょうか? ネストの意味がよくわからないので教えてください。 =IF(A1<>"",LEN(A1),"") のように、関数の中に関数を入れることをネストというのでしょうか? それはIF関数を使わない場合でもネストと言いますか? ネストをするときは、決まってIF関数を使いますか?

  • EXCEL/ IF関数・ネストの使い方

    すみません、かなり初歩的な質問です。 EXCELのIF関数・ネストのやり方を教えて下さい。 ”論理式” 真の場合 偽の場合 こちらへの入力のやり方を具体的にお願いします。 よろしくお願いします。

  • エクセルのIF関数について

    いつもお世話になります。 エクセルのIF関数について教えてください。 Aシートを入力用のシートとして使用し、別のシートに上記のIF関数を使いたいと思っています。 (1)AシートのAF15番地に数字があればその数字を返し、空欄であれば0を返す。  なおAF15番は元々は空欄で、数字を入れる場合は入力者は手動で数字を入れます。 (2)AシートのR26番地に※があれば1を返し、空欄であれば0を返す。  なおR26番地にはプルダウンリストをあらかじめ作成してあり、※か空欄かの2択になっています。 (3) 上記の(1)と(2)の合計値を別のシートのセルに返す。 【例1】AF15番地に3と入力して、R26番地は※を選択  ⇒ 4と表示 【例2】AF15番地は空欄のままで、R26番地は※を選択  ⇒ 1と表示 【例3】AF15番地に1と入力して、R26番地は空欄を選択 ⇒ 1と表示 【例4】AF15番地が空欄のままで、R26番地は空欄を選択 ⇒ 0と表示 私は、このように作ってみたのですが、エラーが出てしまいます。  =(IF(Aシート!AF15="","0",Aシート!AF15))+(IF(Aシート!R26="※","1","0")) エラーの原因を教えていただけると大変助かります。 なお(1)同士のIF関数の組み合わせは問題なく動作しました。 よろしくお願いします。

  • エクセルの条件セルコピーについて

    例えばa3のセルに「ひらがな」と入力されたらb3のセルのドロップダウンリストが『「あ」「か」「さ」「な」』の中から選択できるようにする、 もし、a3のセルに「カタカナ」と入力されたらb3のセルのドロップダウンリストの選択項目が『「ア」「カ」「サ」「ナ」』になる、 もし、a3のセルに「漢字」と入力されたらb3のセルのドロップダウンリストの選択項目が『「月」「土」「日」「火」』になって選べるようになる、 … という風にそのセルの値によって隣のドロップダウンリストの選択項目を変えたい場合はどうすればいいですか?

専門家に質問してみよう