Excel詳しい人、教えて下さい

レス18
(トピ主2
お気に入り50

キャリア・職場

みちこ

はじめまして。みちこといいます。
開いて下さってありがとうございます。

Excel2010のIF関数について教えて下さい。

IFとORを重ねて複数指定したいのです。

A1のセルの値が1なら”あ”、そうでないなら空白
という場合

=IF(A1=1,”あ”,””)
でいいと思います。

A1のセルの値が1か2なら”あ”、そうでないなら空白
という場合

=IF((OR(A1=1,A1=2)),”あ”,””)
でできました。

では、
A1のセルの値が1か2なら”あ”、3か4なら”い”、5なら”う”、どれでもないなら空白
という場合は、どのような式にすればいいでしょうか?

難しすぎてわかりません。
達人の方、教えて下さい。

ユーザーID:1086115837

これポチに投票しよう!

ランキング
  • 0
  • 0
  • 0
  • 0
  • 0
  • 面白い
  • びっくり
  • 涙ぽろり
  • エール

このトピをシェアする

Twitterでシェア facebookでシェア LINEでシェア はてなブログでシェア

レス

レス数18

レスする
このトピックはレスの投稿受け付けを終了しました
  • 多分岐なら

    LOOKUP関数やVLOOKUP関数、CHOOSE関数等を使用するか、VBAでユーザfunctionを作成しSelect Case文で分岐させると言う方法があると思いますよ。それぞれの使い方はヘルプやWebに詳細があると思います。

    ユーザーID:5134573397

  • VLOOKUP関数を使用するかな。

    条件が多岐にわたる場合にはIFは向いていないと思います。
    加減算でやるより乗除算が効率的、みたいなもので。
    VLOOKUPの使い方はヘルプなり参考資料を見るなりして頂くとして、
    参照用テーブルは別のシート(Sheet2とします。)のコラムAに 元のシートのA1のセルの取り得る値を各行に入力します。
    書かれた例ならば、上からA2=1, A3=2, A4=3, A5=4, A6=5です。
    このとき、Sheet2のA1にはタイトルを適当に付けておいて下さい。(「A1の値」でもいいです。)そして参照用シートのB1にもタイトル(例:「結果」など)を入れ、B2=あ、B3=あ B4=い B5=い B6=う (本当はここに記述する際に、""をつけるべきですが、面倒なので省きます。)と入れます。
    A1の値に対応する結果を出す列をB1としましょうか。
    そこに=IFERROR(VLOOKUP(A1,Sheet2!A:B,2,FALSE), "")と入力します。
    この式を下の行にコピーすればそれぞれのA列の値に対応する値がでてきます。対応値がないセルは空欄のままです。

    ユーザーID:7705632683

  • 後、少しですね

    =IF((OR(A1=1,A1=2)),”あ”,””)
    ここまでできていればあと少しです。

    これは A1が1でも2でもない時にどうするかを あ の後の””で指定しています。
    この””のところに またIF関数を使います。

    さらに、3でも4でもない時にIF関数を使って5ならば お さもなければ””とします。


    具体的には
    =IF(OR(A1=1,A1=2),"あ",IF(OR(A1=3,A1=4),"い",IF(A1=5,"お","")))

    もう少し複雑な判定の場合には、VBAというプログラムを組む方法もあります。
    (VBAであればSelect case という形になります)

    ユーザーID:6380718967

  • ちょっと長くなっちゃいますが

    論理関数「IF」を使って

    =IF(A1=1,"あ",IF(A1=2,"あ",IF(A1=3,"い",IF(A1=4,"い",IF(A1=5,"う","")))))

    で如何でしょう?

    ユーザーID:3587714183

  • そこまでできたなら

    後は簡単です。
    トピ主さんの作った式を活かすのなら、

    =IF((OR(A1=1,A1=2)),"あ",IF((OR(A1=3,A1=4)),"い",""))

    ではいかがでしょうか?

    偽の場合の時の条件のところに、もう一度「A1が3か4だったら」という条件を指定すればいいのです。

    まあ、途中で頭がこんがらがってくること、良くありますよね。

    ユーザーID:8142085242

  • キャリア・職場ランキング

    一覧
  • CHOOSE関数を使った方が分りやすくなります

    1〜5以外の値が入力された場合に空欄とするためには、
    IFERROR関数を併用します。

    =IFERROR(CHOOSE(A1,"あ","あ","い","い","う"),"")

    ユーザーID:9966653006

  • 繰り返し

    最初の空白部分の代わりにIF分を繰り返して入れればできます。
    =IF(OR(D4=1,D4=2),"あ",IF(OR(D4=3,D4=4),"い",IF(D4=5,"う","")))

    ユーザーID:1689022205

  • 覚えることが少なくて済むように

    =IF(A1=1,"あ",IF(A1=2,"い",IF(A1=3,"う",IF(A1=4,"え",IF(A1=5,"お","")))))

    上記を応用してください。

    覚えることは,2つだけ
    =IF(条件,あてはまる場合,あてはまらない場合)
    というエクセルの関数と,
    この関数の中に,その関数を再び登場させてもOKということだけ。

    ユーザーID:3993750155

  • 達人ではありませんが

    私ならifのネストにして一つ一つ指定していくパターンしか思いつきません。


    =IF(A1=1,"あ",IF(A1=2,"あ",IF(A1=3,"い",IF(A1=4,"い",IF(A1=5,"う","")))))

    多分これで出来るのではないかと。


    もっと簡素なやり方もあるのかな?

    ユーザーID:8952664597

  • エクセル

    kamesanです。

    私も難しい関数は苦手ですが、1行にまとめるには複雑になりそうなので、VLOOKUPを使い余白にテーブルを作るとうまく出来そうです。

    =IF(OR(A1>=6,A1<1),"",VLOOKUP(A1,E4:F8,2))
     
    たとえば下のテーブルをこのときはE4:F8に作りました。

    1 あ
    2 あ
    3 い
    4 い
    5 う

    もっと簡単なのがあるかもしれませんが、良ければ。

    ユーザーID:7025025860

  • こんなんでどうでしょう。

    =IF(OR(A1=1,A1=2),"あ",IF(OR(A1=3,A1=4),"い",IF(A1=5,"う","")))

    構造は入れ子(ネスト)になっています。
    (A)IF(OR(A1=1,A1=2),"あ","")
    (B)IF(OR(A1=3,A1=4),"い","")
    (C)IF(A1=5,"う","")

    (A)の""の場所に(B)を入れて、次に(B)の""の場所に(C)を入れます。

    ユーザーID:9091899132

  • これが使えるかどうかわかりませんが

    IF関数の入れ子で行うこともできるかもしれませんが、ORを使うと式が煩雑になりわかりにくくなるように思います。
    IF関数とvlook関数を組み合わせて使うとよいではないでしょうか。

    vlookup関数は近似一致を使い

    範囲の表はG1列に1 H1にあを入力して下記のような表をつくります。

    G H
    1 あ
    3 い
    5 う

    =IF(A1>6,"",VLOOKUP(A1,$G$1:$H$3,2,TRUE))
    この式は7以上の数値が入ったら空白の表示という式です

    1未満の数値を入れるとエラーがでます。

    私は成績の評価のときに、90点以上はS、80点以上はA・・・と表示されるようにして利用しています。
    お役にたてばよいのですが。

    ユーザーID:8781158788

  • 再エクセル

    IFとORのみで出来ました。

    =IF(OR(A1=1,A1=2),"あ",(IF(OR(A1=3,A1=4),"い",IF(A1=5,"う",""))))

    如何でしょう。

    ユーザーID:7025025860

  • そこまで出来ているなら

    あとは、元の関数の引数に条件の数だけ関数を入れればいいだけです。

    =IF((OR(A1=1,A1=2)),"あ",IF((OR(A1=3,A1=4)),"い",IF(A1=5,"う","")))

    EXCEL2007以降は、ネスト(=入れ子。関数の引数として関数を使う事)は64個まで作れるんじゃなかったかと思います。
    これくらいの条件なら手で入力してしまえばいいですが、条件が多くて数式が長くなるなら関数用の数式パレットを使った方が、あれ?どこまで入力したっけ?ということがなくて入力しやすいと思います。

    ユーザーID:1468591424

  • switch関数

    「switch関数」でネット検索してみてください

    ユーザーID:1236687516

  • そらさんの式が正解

    >IFとORを重ねて複数指定したいのです。

    夏休みの宿題等でなく、実務でのご利用だとすると
    固定観念は無しで、ORに拘る意味はないです。
    そらさんの式が正解かと存じます。

    業務って、今は「A1のセルの値が1か2なら”あ”」でよくったって、突然「やっぱり『あいうえお』じゃなくて『ABCDE』の表記にします」とかって言われるじゃないですか。
    複雑すぎるIF文は修正が面倒なので避けるべき。

    別タブに表を作り、VLOOKUPで。
    TRUEとFALSEの意味を理解して別タブの表と数式を作れば、無駄が出ません。

    ユーザーID:2648978060

  • みなさん、ありがとうございます。

    お礼が遅くなってすみません。

    Vlookupが有効なのですね。

    複雑な数式は避けるべきとのこと、すごくよくわかりました。

    IFとORの重ねについて教えてくれた方々もありがとうございました。

    ユーザーID:1086115837

  • トピ主のコメント(2件)全て見る
  • お礼が抜けていました!

    switch関数を教えて下さった方へのお礼が抜けていました。

    前回のお礼に書いたつもりだったのですが、久しぶりに開いて確認したらありませんでした。

    事務員様、お礼が遅くなり失礼いたしました。
    ありがとうございました。

    ユーザーID:1086115837

  • トピ主のコメント(2件)全て見る

あなたも書いてみませんか?

  • 他人への誹謗中傷は禁止しているので安心
  • 不愉快・いかがわしい表現掲載されません
  • 匿名で楽しめるので、特定されません
[詳しいルールを確認する]
レス求!トピ一覧