• ベストアンサー

エクセルについて

A列に判定する値が入っています。 A列の値が1~18ならば3、19~24ならば4、25~30ならば2、といったような条件のB列に返したいのですが簡単な式はありませんか?実際は条件が10以上あるので、IF関数とAND関数の組み合わせだとすごく長くなってしまいます。できれば短めの式でお願いしたいのですが・・・

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

表示する内容が固定なら 0 " " ←スペース一つ 1 3 19 4 25 2 31 Error という表を作成して =VLOOKUP(判定するセル座標,上記の表の絶対参照座標,2,TRUE) 表を作るのが嫌なら =LOOKUP(判定するセル座標,{0,1,19,25,31},{" ",3,4,2,"ERROR"}) で上記と同じ結果になります。

mipmip
質問者

お礼

ご回答ありがとうございます!!ちなみに、LOOKUP関数で{}のカッコのなかは、範囲として捉えられてるということですか??

その他の回答 (1)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.2

やはり一覧表を作るのが、後で条件を追加したり、 同じ条件で別の値を返す式を作ったりできるので便利だと思いますよ。 あとのチェックもラクですし。 #1さんの一つ目の式も、LOOKUP関数で記述することが出来ます。 (こちらの方が私の好みです)   D列 E列 1  0 (空欄) 2  1  3 3  19  4 4  25  2 5  31 (空欄) で、例えばA1セルの値を判定する式は =LOOKUP(A1,$D$1:$D$5,$E$1:$E$5) と書くことが出来ます。 ただしこの表ですと1に満たない場合と31以上の場合はゼロが帰ってきます。 エラーとかにしたいなら、空欄の代わりになにか入れてください。 D列に入れる値に注意! 境界値付近で何度か「試運転」してみた方が良いと思います。 このやり方ですとD列とE列の間に別の返り値の一群を挿入しても、 式の修正の必要はありません。 (VLOOKUPだと、列番号を2から3に変更しないといけない)

mipmip
質問者

お礼

大変わかりやすかったです!ありがとうございます。

関連するQ&A

  • エクセル2002 「条件付き書式」で数式を使って

    添付ファイルのような、A列とB列の組み合わせで、 6パターンの判定をして、C列のフォント色を青色と赤色に選択したのですが、 可能でしょうか? 条件付き書式で、IF文、AND、ORを組み合わせれば可能でしょうか? 6つを判定する関数式が想像できないもので、、、、 ご教授頂ければ助かります。

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • Excelに関する質問(IF関数のOR連結)

    ExcelでIF関数を3条件以上つなげる場合、どうすればよいですか。 例えば、A1のセルに「A」と入ったらB1のセルには「あ」、同じく「B」と入ったらB1のセルには「い」、同様に「C」と入ったらB1のセルには「う」…のように、A1の入力値(文字列)に対応して、B1の値(文字列)を変化させていくというものです。 05年10月にほぼ同じ質問が出され既に解決済みになっていますが、それを参考に条件を増やしたところ、書式が違っているせいか数式の入力を受け付けません。 <2条件までは成功>※「B1」セルに与えた式 =IF(A1="A","あ",IF(A1="B","い")) <3条件以上は失敗>※「B1」セルに与えた式 =IF(A1="A","あ",IF(A1="B","い"),IF(A1="C","う"),IF(A1=…)) 恐らく初歩的な書式ミスだと思いますが、初心者ゆえ分かりません。 ちなみに今のところ条件は5つです。 ご指導のほど宜しくお願い致します。

  • エクセル関数の質問。

    エクセル関数の質問です。 画像添付します。 画像のように、A・B列に「0」「1」「2」「空欄」がランダムに並んでいます。 C列に判定を表示します。 判定基準は、A・B列が同じ=○        〃  異なる=×        〃  空欄有り=△です。 この場合、IF関数とCOUNTIF関数で式を作ったのですがエラーが出てしまいます。 お分かりの方がいましたら教えて下さい。 宜しくお願い致します。

  • IF関数でできますか?

    次のような条件でIF関数は使えますか? Aの値が50以上,Bの値は60以上,Cの値は150以上として3つとも条件をクリアしていれば○、A,B,C3つのうちどれか2つまでクリアしていれば△、1つもしくは3つともクリアしていなければ×をつけたいのですが、IF関数を使えばいいのでしょうか?○はANDを使えばいいと思うのですが、△、×はどうすればいいのでしょうか?

  • エクセルの関数式に関してお願いします

    エクセルの関数式で A<Bの時B-Aの値、A>Bの時A-Bの値を返す式はどのようにしたら 良いのでしょうか? IF(AND(A<B),B-A,A-B) と入れたのですが、どうもうまくいきません。 よろしくお願いします。

  • エクセルで複数の条件のセル数をそれぞれ合計したい

    エクセルで複数条件のセルにそれぞれ分類を分け(判定)、分類ごとにセル数の合計を出したいのですが、この場合のセル合計を簡単に計算する条件式はないでしょうか?(分類項目はIF、AND関数を使って結果表示しています) 例)C列に分類AとBが0の時"*"、Aが1・Bが0の時"2"、ABとも1の時"1"、ABとも空欄の時空欄" "と判定し、"*"・"2"・"1"それぞれのセル数を合計したいのですが・・・。   列 A B C      行 1  0 0 *    2  1 0 2    3  1 1 1    4     ・        ・ どなたかご教示よろしくお願いします。

  • エクセルのIF関数(条件に合った値かどうか調べる)

    エクセルの関数についてお聞きします。 次のような値があります。 A列 B列 C列 犬 鳥 PP 01 QQ 空 牛 魚 09 この組み合わせ以外のものを下記のように、D列に「×」と表示させ、条件に合うものを「●」と表示させる式を作ろうと思います。 例: A列 B列 C列  D列 犬 QQ 09   ● 02 鳥 空   × 牛 魚 11   × 01 QQ 空   ● このような式はどう作ればいいですか?IF関数ということは分かるのですが、そこから先が進みません・・・。 ちなみに調べたいデータは上の例のように数字、文字が混在しています。 どうぞよろしくお願いいたします。

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

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • エクセルで質問です。

      A  B   C   D      1 ○ ○  ○○  1    左記のようにAとBのセル行に、○△×をを入力し、CとDの行に  2 ○ △  ○△  2    どんな組み合わせでも値を返す倫理式を教えてください。 3 △ ○  ○△  2    IF関数で試した所、7通りしか式が入りませんでした。 4 △ △  △△  3 5 △ ×  △×  3 6 × △  △×  4 7 × ×  ××  5 8 × ○  ○×  3  9 ○ ×  ○×  3

専門家に質問してみよう