• 締切済み

エクセルの条件分岐で困っています

p-applepieの回答

回答No.3

#2です。本当に複雑ですね。 データの具体的な表記もありませんので、詳細の説明には限界があります。 質問の関数に追加するつもりで#2の回答をしましたが、補足には 同じ内容が書かれていただけですので、ヒントだけとさせて頂きます。 ご自身の状況によって作り替えて下さい IF関数の入れ子の数にも制限があるので、どこか別のセルをかませてみてはいかがでしょう。 IF(ISERROR(VLOOKUP("名前",optionalAの3列目のセル範囲,1,false))=FALSE,"optionalA",IF(ISERROR(VLOOKUP("名前",optionalBの3列目のセル範囲,1,false))=FALSE,"optionalB",IF(ISERROR(VLOOKUP("名前",optionalCの3列目のセル範囲,1,false))=FALSE,"optionalC") として、参照テーブルがoptionalA~Cのいずれになるかをどこかのセルに表示させて、 INDIRECT関数を使って、ご自身で作られた関数の参照テーブルの部分に 入れ込んでみてはいかがでしょう。 例)※上記の参照先判定をA1に入れたとして VLOOKUPの部分のみ下記の通り書き換え VLOOKUP($BN$1,INDIRECT(A1),12,FALSE) http://officetanaka.net/excel/function/function/indirect.htm http://allabout.co.jp/study/pcbasic/closeup/CU20050218A/

関連するQ&A

  • エクセル 関数 条件分岐

    いつも回答して頂き、とても感謝しています。 前回、質問して回答して頂いたのですが、新たに分岐(アルミ1、アルミ2、アルミ3)が生まれたので質問します。 前回に教えて頂いた関数式が以下の通りです。 =SUMPRODUCT(SUMIF($B$4:$B$13,B17:B23,IF(ISNA(MATCH("天井交換",B17:B23,0)),$D$4:$D$13,$C$4:$C$13))) B17セルに、アルミ1と入れた時、条件1または条件2の列が参照して、計算される。 B17セルに、アルミ2と入れた時、条件3または条件4の列が参照して、計算される。 B17セルに、アルミ3と入れた時、条件5または条件6の列が参照して、計算される。 様にしたいのですが、どうすればよろしいのでしょうか? 御指導の程宜しくお願い致します。

  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • IF関数 複数条件分岐について

    IF関数の複数条件分岐について質問です(> <)。 F15に以下の条件にあわせて計算されるように条件式を入れたいのですが・・・ IF(AND(F9>=1800,F9<3599),70%*F9-180),IF(AND(F9>=3600,F9<6599),80%*F9-540),IF(AND(F9>=6600,F9<9999),90%*F9-1200) と入力するとエラーになってしまいます。 なぜでしょうか?正しい計算式を教えてください!! ~*条件*~ ・F9が 1,800円~3,599,円→F9×70%-180円     3,600,円~6,599,円→F9×80%-540円     6,600,円~9,999,円→F9×90%-1,200円

  • エクセルの複数条件関数

    エクセル関数の複数条件について初歩的な質問だと思うのですが、どうか関数式を教えていただけないでしょうか? IF関数でできるのではないか?と思ったのですが、うまくいかずうまくいく関数式を教えていただければ助かります。 ・AD列は作業担当者になりATSかPCTSDを選択できる(ここは既存で設定済み)<例>=IF(B21=1,VLOOKUP(Y21,作業担当!$A$2:$B$30,2,FALSE),0) ・AE列は分類コードで100/200/400のどれかが表示されるようになる(ここは設定済み)<例>=IF(B21=1,VLOOPLUP(J21,分類!$A$2:$B$8,2,FALSE),0) ・AF列はATS onlyとして<例>(AD21="ATS",AE21,"")と入力している。ここも設定済み。ATS only列はPCTSDであれば空白になるようにしている。 ・AG列はATS 100 to 500で以下のような条件式にしたいです。ここがうまくいっていません。AD列がATSでAE列が200であれば500、AD列がATSでAE列が100であれば300、AD列がPCTSDでAE列が100/200/400であれば空白にしたいです。 ・AG列の結果をもってAH列のファイナル分類コードに引き継ぎたいです。既に設定済みで<例>=IF(AG39="",AE39,AE39)としています。 AG列の条件を満たす関数式を教えていただけないでしょうか? よろしくお願いいたします。

  • Excel VBA 条件分岐のスマートな書き方

    すみません。すごく初歩的な質問なのですが、 Excel VBAで以下のような条件分岐をさせたい場合、 もっとスマートな書き方できませんか? 命題 AとBに対して if not A then 処理X end if if not B then 処理Y end if if not(A and B) then 処理Z(この処理の中には処理Xと処理Yの結果が含まれている) end elseifを使った書き方が思い浮かばず、 同じことを何度も書いているようで、もっと上手に書けそうな気がしまして・・・ どなたかご教示頂けたらと思います。

  • 条件分岐で複数条件の指定を簡易的にしたい

    if ($key == 'keyword1' and $key == 'keyword2') この様な条件分岐をする場合に、keywordを足す度に and $key == 'keyword' と書いていかなければならないのが不便なので、これを $keywords = 'keyword1', 'keyword2'; などと一つの変数で指定してそれが反映される様にしたいのですが、こういった場合にはどうしたら良いのでしょうか。

    • ベストアンサー
    • PHP
  • 関数を使用条件付き書式設定によりセルに色をつけたい

    説明が下手で申し訳ありません。 Excelで、単一セルから結合セルを参照させたセルに、条件付き書式でセルに色をつけたいです。 単一セル→結合セルの参照は、連続してコピーできるようにしたかったので、indirect関数等を使用してます。 直接セルを参照させるとうまく行きます =IF(AND($q$9>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) indirect関数等を使用すると失敗しました。 =IF(AND(INDIRECT($q$1&INT(ROW()/3)+5)>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) ※ $q$1は、列のアルファベットを取得したセルで、アルファベット"q"を取得しています。 なので、 INDIRECT($q$1&INT(ROW()/3)+5)により$q$9の値を取得しているつもりです。 どのようにしたら良いかご教示いただけないでしょうか? よろしくお願い致します。

  • エクセルの関数について教えてください

    エクセルでvlookupを使い得た結果がAだとします。 次にif関数でvlookup関数の結果のセルがAならばと言う式を作りました。 が、if関数が認識してくれません。 同じif関数の式でキーボードからAを入力したら結果が出ます。 vlookup関数のセルにはAでなく式しか入ってないからでしょうか? vlookup関数の結果をif関数で認識する方法をお願いします。

  • MSExcel2003で条件分岐の方法

    今まで、条件AまたはBである時は真・それ以外は偽を返す式を作るとき =if(A1="A","真",if(A1="B","真","偽")) という式を作ってきました。これをor記号を使って =if(A="A"or"B","真","偽") というように作り替えたいのですが,うまくいきません。 今は二つの条件に合わない場合は偽としていますが、これが 5つくらいになってくるとこの方法補煩雑で間違いが多くなり使えないのですが、 どうすれば上手な条件分岐をすることができますか?

  • 文字列で条件分岐 if swtich

    C言語でifやswitch文の条件式でキーボード入力からの複数文字列(char型)に対して条件分岐をしたいのですが、どなたか具体例を教えていただけないでしょうか?またscanfでキーボード入力を読み込む場合、Enterを押さないと実行されませんが、Enterを押さないでもいい関数や方法があれば教えて下さい。宜しくお願いします。