• 締切済み

複数条件のIF関数の適用?

別シートに記載した表に AJ11~AJ16=ABC-1~ABC6(機器の型式)、 AK11~AK16=DEF-1~DEF-6(機器の型式)、AL11~AL16=ABCN-01**~ABCN-06**(機器の型式)、AM11~AM16=DEFN-01**~DEFN-06**(機器の型式) として表をつくり、 http://www.kenzo30.com/ex_kisopoint/onepoint_sonota3.htm#Q4 参考に、機器の型式のプルダウンリストを作りました。 ここで、 AL11~AL16=ABCN-01**~ABCN-06**(機器の型式)、AM11~AM16=DEFN-01**~DEFN-06**(機器の型式) の型式をプルダウンリストから選択した場合、 ABCN-01**~ABCN-06**(機器の型式)、AM11~AM16=DEFN-01**~DEFN-06**(機器の型式)の ** 部分に別セルに入力した値とあわせた型式を表示したいので、下記のように関数を組んだのですが、    F12=IF(入力シート!F10=入力シート!AJ11:AM16,入力シート!F10,入力シート!F10&入力シート!F12)#VALUE!  が表示されます。 IF関数「入力シート!F10=入力シート!AJ11:AM16」が悪いのはなんんとなくわかるのですが、どう治せばいいかわかりません。 ご教示願います。 別方法(IF関数を使わない方法)もあれば教示ください。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

質問の問題がわかりにくい。 下記を読者・回答者の為にぜひよろしく。 ーー 本質問のエッセンスを考える上で、必要でないものは書かないこと。 例えば>プルダウンリストから選択した場合は多分それです。 関数は値を扱うので、その値がどういう風にセットされたかの来歴は 式には影響しない。 ーー >AJ11~AJ16=ABC-1~ABC6(機器の型式)、・・ こんなに繰り返して書かないといけない質問ですか。 質問者の課題解決には全部必要でも、同じ考えの繰り返しで解決できる箇所なら、1例だけ挙げて、後は質問者が、応用して変えて解決するべきです。 私なら6行だから、擬似実例を全行書きますね。それに >ABC-1~ABC6(機器の型式)、 などではなく A機器の型式も,B、C・・とでも書きますね。 こういう抽象化した方がすっきりする。 ーー IF文の中に、>AJ11:AM16のようにからまでが入るのはおかしい。 配列数式ではあるが。 多分IF関数の使い方が我流になっている。 それよりも、やりたいことを、文章で表現してくれたほうが多分わかりやすい。 関数の中にはIFのイメージが入っているものは少数ある。検索で使う関数などです。それらを本・WEBで勉強すべきで、IFで組み立てようとしてはならない。 ーー 私の独断なんですが、VLOOKUP関数FALSE型の応用問題ではないかと 。VLOOKUP関数は知ってますか。コードから名前を割り出すようなときに使う関数です。 見当違いの場合お許しを。 >入力した値とあわせた型式を表示したいので、 値とは数字・文字列数字? 形式とはABC-1~ABC6(などですよね。他に名前をもっているの?

jun_katu
質問者

お礼

ご指摘ありがとうございます。 確かに自分で見直して見ると見にくいですね。 ただ、 >ABC-1~ABC6(機器の型式) AL11~AL16=ABCN-01**~ABCN-06**(機器の型式) のように書いた狙いは、文字数が機種ごとに違うことを 利用して LENB()関数を利用した答えが出ないかなと、考えながら質問を書いていたので、このような稚拙な文章になってしまいました。 今後は読者、回答者が共に見やすいような文章を考えたいと思います。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆余り井解していないのですが、これでいかがでしょうか? =IF(COUNTIF(入力シート!AJ11:AM16,入力シート!F10),入力シート!F10,入力シート!F10&入力シート!F12)

関連するQ&A

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

    以前に質問してお答えいただきましてありがとうございました。 再度分からなくなってしまったので、質問です。 今、下記の関数で目標数字に対して、4つの平均の数字の差引をしたときに表示される記号を変える関数を出しています。 =IF(AVERAGE(AL5:AO5)=AJ5,"",IF(AVERAGE(AL5:AO5)<AJ5,IF(AVERAGE(AL5:AO5)>=AJ5-10,"△",IF(AVERAGE(AL5:AO5)<=AJ5-50,"◎","○")),IF(AVERAGE(AL5:AO5)<=AJ5+10,"▲","×"))) こちらはの関数の意味は下記のとおりです。 目標 - 4つの平均 = 同じ場合は● 0~10上回る時は、△ 10~50上回る時は◎ 0~10下回る時は▲ 10以上下回る時は× という形にしています。 今回お聞きしたいのは、さらにマイナスの場合 10~50下回る時は× 50~100下回る時は×× 100以上下回る時は××× と表示させたいです。 すみませんが、上記の関数を少しいじっていただきそのようになる関数を教えてください。 宜しくお願い致します。

  • 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関数について

    いつもお世話になります。 エクセルの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関数の組み合わせは問題なく動作しました。 よろしくお願いします。

  • 【Excel-関数】複数条件に一致する値抽出

    Vlookupやsumifs、if&andのネストでもうまくいかないので、ご質問させていただきました。どなたかお力になっていただけるとありがたいです。 まず、このような「商品マスター」があります。 商品名  サイズ下限(mm)  サイズ上限(mm)  金額(円) abc       5           5.9         100 abc       6           6.9         200 abc       7           7.9         300 def        5           5.9         400 def        6           6.9         500 def        7           7.9         600 説明:abcという商品で薄さが5mm~5.9mmは100。 6mm~6.9だと200。 金額は”商品名”そして”サイズ”(薄さ)によって決まります。 そして問題の「売上表」 商品名  サイズ  金額 def     5.2    400 ←ここの「400」を数式で自動的に出したい abc     6.5    200 金額部分を出すには、 商品が一致、サイズで指定した値の「以上」や「以下」の判断をさせなければいけないので、複数条件になるかと思います。 オートフィルタだったら簡単なんですが、別の表に商品名とサイズを入力したら、金額が出てくるようにしたいので、やはり関数かなと、、。 以上、わかりにくい説明で申し訳ありませんが、よろしくお願い致します。

  • INDEX関数を組み合わせた数式で、入力の無いときに「#VALUE!」

    INDEX関数を組み合わせた数式で、入力の無いときに「#VALUE!」を表示させたくない。 度々お世話になっております。 こちらで教えて頂いた数式で、シートの一部に画像のようなものを作ってみました。 Y14とY15に入れる数字によって、組み合わされた文字がAI14に文章になって表示される仕組みです。 AI14に入れている数式は 「=INDEX($Y$3:$AH$3,1,Y14)&"で"&INDEX($Y$11:$AB$11,1,Y15)」となっています。 以下右方向に、AJ15,AK15,AL15・・・と、それに対応した数式をセル6個分に入れる予定です。 質問させて頂きたいのは、 入力がないときに「#VALUE!」を表示させたくないのです。 「=IF(○○○="","",INDEX(○○○・・・・」といった数式で解決できると思ったのですが、 INDEX関数が2つ組み合わされていますので、どのようにしたらよいかわかりません。 ただ、AI14~に表示される結果は、最終的に別シートのセルで参照されて、そちらのシートでプリントアウトさせますので、 そちらで「#VALUE!」が表示されないようにできるなら、それでもかまいません。 よろしくお願いいたします。

  • エクセルのif文関数の複数条件時の記述について

    こんにちは。 エクセルのif文関数についての質問です。 添付画像にあるように、データがあるとします。 このエクセルは、ABCの行それぞれのデータに対応して、 A行、B行、C行それぞれのデータのうち、ひとつでも1000を超えるデータがあれば 判定のセルに1を表示するというものです。 この場合、今まではH4のセルに =IF((OR(C4>1000,D4>1000,E4>1000,F4>1000)),1,0) と入力していました。 今までは例のようにデータの列が4つほどなので問題なかったのですが、 データの列が60列となり、上記のようなIF文では処理できなくなってしまいました。 (条件が30個を超えるとエクセルからエラーがでます) この場合上記のIF文をもっと簡潔に、 列が増えても問題ないような関数に置き換えるには どのような関数を入力すればいいでしょうか。 皆様よろしくお願いします。

  • IF関数の条件に関数を指定

    Excelに関する質問です。 ちょっと分かりづらいのですが、例えばセルA1とB1があるとします。 A1には別シートのセルが参照されています。(「="あ!A1"」など) ここで、B1にはIF関数を入れたいのですが、その時A1の関数式内の文字を条件にしたいのですが、そういうことはできますか? つまり、B1にIF関数で「A1セル内の関数式内に"あ"の文字がある時に"い"と表示する」のようにしたいのです。 普通に「=IF(A1="あ","◯","")」ではできません。 Google先生でも調べてみたのですが、分かりませんでした。 お知恵をいただければ幸いです。

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

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • IF関数だと思うのですか、お教えください。

    IF関数だと思うのですか、お教えください。 エクセルのブックひとつを1か月分として作っていて、ブック内のワークシート ひとつずつが1日分となっています。 1か月分はワークシートが6月ならば30日で30個。 その状況で、6月1日のワークシートのセルA1に平成22年6月1日と入力した場合 2日から30日までのワークシートのA1に自動で日付を入れられるようにするには どうすればよいでしょうか? 前担当者がA1に日付を手動で入れるとB1曜日が出るようにはしていて、それを参考に わたしもIF関数を入力できるかと試みてみましたが出来ませんでした。 どなたかお助けください

  • IF COUNT AND 関数で、

    IF COUNT AND 関数で、 Sheet1をデータ用名簿リストにして出欠簿を作成しています。 部門が3つに分かれているので Sheet2~4に、部門ごとに抽出されるようにし、さらに、出席の人だけ表示されるようにするのが目的です。 =IF(COUNT(Sheet1!$K:$K)<ROW(C1),"",INDEX(Sheet1!$C:$C,SMALL(Sheet1!$K:$K,ROW(C1)))) という関数で部門ごとの抽出は成功したのですが、下記関数だと出席者のみの表示がうまくいきません。 Sheet1には =IF(J1=Sheet2!$A$1,ROW(A1),"") をKに入力し、対応する部門が絞れるようにしています。 =IF(COUNT((Sheet1!$K:$K)<ROW(C1)*(Sheet1!$F:$F)=D),"",INDEX(Sheet1!$C:$C,SMALL(Sheet1!$K:$K,ROW(C1)))) なお、(Sheet1!$F:$F)=D)は、Sheet1の出席者の欄で、ここにD(出るの略)と記入しています。 使用ソフトはKingsoftです。

専門家に質問してみよう