ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュのif関数の式について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Excel初心者です。
if関数の式について質問させていただきます。

何時間も考えたんですが
うまくいきませんでした。
資料やPCで検索してもわからなかったので質問させていただきます。

●問い
各担当者の昇級条件は以下の通りとします。この条件に合致する担当者には昇級可否欄に「合」と表示するよう、IF関数を含んだ適切な式をセルO3に入力し、セル範囲O4〜O18に複写しなさい。

・もし 売上げ合計順位(N3)が3位以内であるとき・・・
 在職年数(F3)が3年以上 もしくは 所持資格数(E3)が1以上ならば合格
・もし 売上げ合計順位(N3)が4位以下であるとき・・・
 新規獲得顧客数(C3)が5以上、始末書数(D3)が3以下、2009年Q4の売上げ(K3)が25,000以上 であれば合格

です。

自分なりに考えたのが
=if(n3<=3,or(f3>=3,e3>=1),"合","",if(n3<=4,and(c3>=5,d3<=3,k3>=25,000),"合","")))です。

もしよろしければ、ご教授お願いいたします。

コメント(18)

複合判定を一気にやろうとすると大変ですが。。。。
ひとつの判定結果をどこかに入れて、それを後で参照する形があります。

OR(AND)関数は OR(条件1、条件2、・・・)のように使います

大体そのまま此処が論理になると思います 条件ですから


IF関数は 論理式、真の場合、偽の場合 と3つの構成式になります

作り方が 間違えています 4つになっていますよ
論理式 n3<=3
真の場合 or(f3>=3,e3>=1)
偽の場合 "合"

"",if(n3<=4,and(c3>=5,d3<=3,k3>=25,000),"合","")))は構成できません


また、「25,000」は数値だと思いますので数式内では「25000」にしないと・・・
=IF(N3<=3,IF((F3>=3)+(E3>=1),"合",""),IF((C3>=5)*(D3<=3)*(K3>=25000),"合",""))

でいけると思います。

あと、こういうちょっと複雑な条件判定の場合、樹形図(?)のようなものをメモで書いて、整理してから数式を考えると、スムーズに行くと思います!

※見直しをあまりしていませんので、間違っていたらごめんなさい。
IF,OR,ANDでできました。
=IF(OR(AND(N3<=3,F3>=3,E3>=1),AND(N3>=4,C3>=5,D3<=3,K3>=25000)),"合","")
でいかがでしょうか。
あ、ちなみに「+」はOR,「*」はANDの意味があります。
記述順序が異なるだけで働きは同じです。
記号を使ったほうが、直感的で数式もすっきりするため、私はこっちをつかいました。
トピ主です。

Excelも数学も…いわゆるロジカルなものが苦手で
すごく参考になりました!
べべーあさん、浪裏さん、お2人には手間をかけていただいて本当に感謝しています。

みなさま、ありがとうございました。

Excel初心者です。
トピックがあったんでif関数の式について私も質問させていただきます。

支店名 名前   4月  5月  6月  合計    判定
紫野店 長井俊樹 46123 52084 41165 139372
    長嶋達郎 56850 64201 55245 176296
    高田哲夫 49125 62100 54100 165325
烏丸店 高町英樹 36245 46320 38400 120965
    鈴木実  52144 51100 50240  153484
    沢田太一 49500 48210 53645 151355
円町店 山下利信 48265 47210 49820 145295
    佐藤孝之 53100 51402 48200 152702

判定・・・5月が60000以上の人を「優秀」、6月が50000以上の人を「合格」、
それ以外の人を「今後に期待」と表示する。

IFにORを使って解くと思うのですが、うまくいきません。
判定が3つある場合どうやって表示させればいいのですか?
>10
上の式を参考にしたらできるのでは?
10 フリー多さん
その判定でしたらORを使わずに、IFだけで出来ますよ。
エクセルのヘルプでifを見て下さい。
参考になる例が載っているはずですよ。
 
=IF(5月が60000以上の人,「優秀」,IF(6月が50000以上の人,「合格」,
「今後に期待))

 ↑ヒント  ですが・・・

何故 5月と6月が出てくるのか不思議です 合計で普通 やりますよね
回答ありがとうございます

とりあえず

=IF(60000<=E4,"優秀",IF(50000<=F4,"合格","今後に期待"))

と入れてみたのですが大丈夫でしょうか?
>14
大丈夫かどうかは御自分で分かるのでは?

希望通りの結果になっているかとか、式は希望通りの意味(構造)になっているかとか
数値を変えてみて結果がどうなるのかとか
判断材料はあると思いますが
>14

判定の欄が一個しかないのにあせあせ(飛び散る汗) 

5月が60000以上の人は「優秀」,6月が50000以上の人,「合格」

の意味が不明です・・・・

それに数字はセル番地の後ろの方が・・・
If関数の構造自体、シンプルこの上ないものです。条件と、それに対してYesの場合とNoの場合、それぞれのアクションを指定するだけのことです。だからIf関数を記述することは、そんなに難しくはないはずなのです。

なのに、実際にIf関数を使おうとすると難しく感じられることは、現実の問題として頻繁にあります。その理由の大半は、論理の流れが整理できていないことです。

実際の世の中のことは、If関数ほど単純ではないのです。条件一つだけに対して、Yes・Noを答えたらすべておしまい、なんてことは滅多にありません。もっと複雑に入り組んでいます。

論理の流れを整理するには、日本語で書かれている文章を図式化すると全体像が見えてきて、とても役に立ちます。わたしもよくそうしております。

ですから、If関数を使っている時につまづいたら、一旦エクセルからは目を離して、白紙の紙を取り出して、論理の流れを整理することが先決だと思います。

再びエクセルの画面に向かうのはその後からです。
>10

>>判定・・・5月が60000以上の人を「優秀」、6月が50000以上の人を「合格」

みなさんと同じく不思議です。
両方の条件をクリアしてる時にはどちらが優先されるのでしょう?
それとも5月が優秀で6月に50000以上で合格?


>14
5月の条件が優先ならそれでもいいとは思いますが。。。

ログインすると、残り1件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。