• ベストアンサー

Excelの関数の組み合わせが知りたい

セルA1に下のような関数を入れています。 IF(OR(H17="H",H17="C"),"こんにちは"," ") つまり、H17がHかCだったら、A1に「こんにちは」と表示され、それ以外の場合はA1が空欄になるように設定しています。 こちらに更に条件をつけて、H17が「E」の場合、A1には「おはよう」と表示させたいのです。 こういう場合、前述のIF関数にどういう処理を加えると、H17が「E」の場合A1に「おはよう」と入れられるのでしょうか。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

IF(H7="E","おはよう",IF(OR(H17="H",H17="C"),"こんにちは","")) ちなみに、" " では、空欄ではありません。 式などで参照した場合、スペースが入っているので、空欄と判断されることはないので、今後いろいろな式を組むようになると弊害がでる場合があるので、"" とするようにした方が良いでしょう。

その他の回答 (5)

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

注目しているセルがH17ひとつだけですよね。もうひとつ、EとHとCとはH17の値としては、同時に起こりません。したがって (1)Hの場合 (2)Cの場合 (3)Eの場合 (4)H,C,E以外の場合 で区分けは尽きます。 この(こういうケースの)場合、単純にはじめから、IFをネストしていけばよい。稚拙ではあるが単純です。 =IF(H17=”H”,X,IF(H17=”C”,X,IF(H17=”E”,Y,Z))) Xはこんにちは、Yはおはよう、Zは””です。 この前半でORを使えますが、使わなくても表現できます。エクセルのネストの深さには制限がありますが。 ORを使った後から考えるから疑問が出るのでしょうが、はじめから見通せば、単純ではないですか。 CHOOSEの例が出ていますが、VLOOKUPでもできそうです。 H こんにちわ C こんにちわ E おはよう の表をつくり、見つからないとき(のエラーの場合) ””をあたえればよい。これだと千でも万でも対応できます。 =IF(ISERROR(VLOOKUP(A1,$D$1:$E$3,2,FALSE)),"",VLOOKUP(A1,$D$1:$E$3,2,FALSE)) H17はA1に置き換えてます。式はB1に入れ、表はD1:E3に作る例です。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 参考程度にひねったのを2つ。 =CHOOSE(FIND(H17," HCE"&H17),"","こんにちは","こんにちは","おはよう","") =CHOOSE(SUM(COUNTIF(H17,{"H","C","E"})*{1,1,2})+1,"","こんにちは","おはよう")

  • hrtmo
  • ベストアンサー率28% (11/39)
回答No.4

IF(H17="E","おはよう",IF(OR(H17="H",H17="C"),"こんにちは"," ")) または IF(OR(H17="H",H17="C"),"こんにちは",IF(H17="E","おはよう"," "))

  • ftomo100
  • ベストアンサー率41% (297/723)
回答No.3

IF(OR(H17="H",H17="C"),"こんにちは",IF(H17="e","おはよう"," ")) つまり、ご質問の条件式が成り立たなかったときの" "欄にもう一回if文を入れてあげれば良いです

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

以下の通りです。 IF(OR(H17="H",H17="C",H17="E"),"こんにちは"," ")

関連するQ&A

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

    お世話になります。 どうしてもIF関数がうまくできず困りはてています。 下記のような項目を含むデータを2万件くらい抽出しています。 A列     B列  C列      D列 E列 状況    拒否理由       注文数   確認数 (1) 在庫不足   入力ミス  1     0 → キャンセル (2) 在庫不足       1      0 → 未処理 (3)                 5        0 → 未処理 (4)                 1       1 → 処理済 (5)   お客様キャンセル      10    0     →     キャンセル 未処理の件数を管理したいのですが、キャンセル扱いとなる条件を除く IF関数をうまく作成できません。 =IF(AND(D2>0,E5>0),"完了","未処理") といったように1個の条件についてはなんとかできるのですが、 B列が空欄or文字の入力有、C列が空欄、E列が0の数字の場合、D列の 数字を表示しなさい、といったようにまとめて、条件式をつくることができません。 何個かつなげると、TRUE、FALSEと表示され指定する列の(この場合D列)数字が表示 できません。 IF関数でなくてもよいのですが、未処理(キャンセル扱い除く)条件のみの数字を表示させる 方法をご教示お願いいたします。

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

    セルHにIFとANDを使って下記内容の関数式を入力したいです。 セルAからセルF内すべてに数値が入っていたらセルFを返す、 セルFが空欄ならばセルEの数値を返す、 セルEも空欄ならばDの値を、 Dも空欄ならばCの値を、Cも空欄ならばBの数値を、 Bも空欄ならばAの数値を返し、 Aも空欄(つまりAからF内に数値なし)ならばスペースを返す。 わかる方、教えてください。 よろしくお願いします。

  • エクセル2003 関数 IFとVlookupの組み合わせについて

    エクセル2003 関数 IFとVlookupの組み合わせについて IF関数とvlookuo関数を組み合わせて関数を組もうとしています。 vlookupしたい元データが18万あるのでシートを(1)~(3)に分けています。 やりたいことは、 シート「(1)1~60,000」     A列:ID B列:社名 シート「(2)60,001~120,000」 A列:ID B列:社名 シート「(3)120,001~180,000」 A列:ID B列:社名 シート「集計」 このシートに関数の結果を表示したいです シート「集計」のH9のセルにIDを入れたらI9のセルに社名が自動表示される。且つH9のセルが空欄ならI9のセルも空欄になる。※入るIDはシート(1)~(3)のどこかにあります 関数教えて下さい。よろしくお願いします。

  • Excelで、IF関数を使用して空欄にしたところの数値を使用したいのですが

    Excel初心者です かなり特別なケースだと思うのですが IF関数を使って、{上と同じ数値なら空欄、そうでない場合は計算結果を表示} というのを、 E9 =IF(SUM(E8,C9)-D9=E8,"",SUM(E8,C9)-D9) という関数を使って作ってみました。 仮に、下のような数値の並びの場合 1 22 333 333 4444 4444 4444 55555 という場合 1 22 333 4444 55555 というように表示したいのですが この関数を見ていただくとわかるとおり 一つ上の数値を参照して計算するため 空欄であれば、そのセルの数値を”0”として認識してしまい 下の計算結果がハチャメチャなものになってしまいます。 空欄を表示しても、数値は参照したい というような場合、どのようにしたらいいのでしょうか もしくは、上の関数を使用した場合 E8が空欄の場合はE7の数値、E7も空欄の場合E6を参照する、というやり方はあるのでしょうか。 自分でも調べてみたのですが、同じようなケースの質問がなかったため質問させていただきました。 どうぞよろしくお願いいたします。

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

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

    お世話になります。 仕事で各商品の単価を比較するためのリスト作成を頼まれたのですが、条件が複雑なため、 関数で悩んでいます。画像を参考に、順を追って説明させて下さい。 1.まずリストに、各商品の単価を入力 2.入力された単価は作業列(1)~(3)に反映されます。このセルに入っている計算式は、   セルG6 =IF(C6="","",C6)   セルH6 =IF(D6="","",D6)   セルI6  =IF(E6="","",E6)   が入っています。 3.ここからが分からないところなのですが、採用単価に入る式で迷っています。条件は、  (1)A資料があれば、A資料が優先的に採用単価になる  (2)B資料とC資料の2つがあれば、平均の値(1円未満切捨て)が採用単価になる  (3)空白の欄には何も入れない  とのことです。 試しに(セルJ6の場合) =ROUNDDOWN(IF(G6="",AVERAGE(H6:I6),G6),0)  を入れてみましたら、(1)と(2)の条件はクリアしたように見えますが、空欄のある所はエラーの #DIV/0!が出てしまいました。 式自体が違うのか、それとも式に何か追加するのか分かりません。 分かりにくい説明かと思いますが、どうぞお知恵をお貸し下さい。宜しくお願いします。       

  • エクセル2010での関数に関する質問です。

    初歩的な質問で申し訳ありませんが、困っています。 セルの1行目は「❌」か空欄になっています。 セルの2行目から5行目には「⭕」が入っているセルと空欄のセルが混じっています。 例えば、セルA1が「❌」でセルA2からセルA5のどこかに「⭕」が一つでもあれば「△」としたいのです。条件に合わない場合は「空欄」にします。 自分でやって、セルA1が「❌」でセルA2が「⭕」の場合は、次のような関数でできます。 =IF(AND(A1="❌",A2="⭕"),"△","") しかし、セルA2からA5に範囲を広げる方法が分かりません。もちろん、セル1行目が空欄の場合は、結果は空欄で返します。 どなたか教えてください。よろしくお願いします。

  • IF関数の組み合わせ

    If関数の質問です。 A2セルにAと入力すると、B2セルに10 A2セルにBと入力すると、B2セルに5 A2セルにCと入力すると、B2セルに0 A2セルに何も入力しないと、B2にも何も表示されない これを関数で処理したいのですが、うまくできません。 エクセル関数を勉強中の身で、なかなか自力では作れず・・・ ご回答よろしくお願いいたします。

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

    下のような表で、E7に =IF(AND(D6>A1,OR(C7:C12<(A7-0.05))),"A",IF(AND(D6<A1,OR(B7:B12>(A7+0.05))),"B","")) と関数を入れましたが求めているものになりません。 文章にすると、D6がA1より大きかった場合かつC7からC12の間でA7から0.05を引いた数値が どれか一つでもあればA、D6がA1より小さかった場合かつB7からB12の間でA7から0.05を足 した数値がどれか一つでもあればBそれ以外は空白というものです。 正しい関数を教えてください。       A    B     C     D      E 1    98.483  98.501  98.446  98.477 2    98.477  98.482  98.442  98.452  3    98.449  98.461  98.365  98.372  4    98.372  98.396  98.350  98.387  5    98.388  98.472  98.379  98.414 6    98.412  98.479  98.389  98.439 7    98.433  98.603  98.430  98.555 8    98.559  98.579  98.465  98.500 9    98.500  98.600  98.467  98.569 10   98.568  98.635  98.530  98.546 11   98.548  98.579  98.486  98.494 12   98.497  98.569  98.460  98.534 13   98.534  98.565  98.527  98.542

  • エクセルでの関数の書き方

    セルA1からF1があります。 A1がC1かD1で同じでかつ B1がC1かD1で同じ場合に、 D1の値をF1にセットしたいのですが、 どのように書けばよろしいでしょうか? EX. A1が1でB1が2の場合は C1がD1が1,2または2,1の場合のみ E1の値をF1にセットします。 COBOLで書くとこんな感じになると思います IF (A1=C1 OR A1=D1) AND (B1=C1 OR B1=D1) THEN MOVE D1 TO F1 END-IF. IF関数かAND関数を使用するような気がしますが、 思いつきません。 よろしくお願いいたします。 エクセル2000です。

専門家に質問してみよう