IF関数を使って3つ以上のある範囲内の条件を満たす場合「A」などと入力したいです。

たとえば
100以上110以下はA
110以上120以下はB
120以上ならC

=IF(F3=100<110,"A",IF(F3=110<120,"B",IF(F3=120<???,"C")))

こんな感じでしょうか?
よろしく教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

参考までに。



大きい数値あるいは小さい数値から絞り込む方法ではなく、F3が100以上110未満という限定条件の数式にする場合は(これ数式ならIF関数の順に関係されない)、以下のようにAND関数を利用します。

=IF(AND(F3>=100,F3<110),"A",IF(AND(F3>=110,F3<120),"B",IF(F3>120,"C","100未満")))
    • good
    • 61
この回答へのお礼

早速出来ました!
早々にありがとうございます。助かりました!!

お礼日時:2010/08/20 17:08

100未満は空白


100以上110未満はA
110以上120未満はB
120以上ならC
としますと、
=IF(F3<100,"",IF(AND(F3>=100,F3<110),"A",IF(AND(F3>=110,F3<120),"B",IF(F3>=120,"C"))))
でしょうか。
    • good
    • 13
この回答へのお礼

ややこしい事ですね!
ご丁寧にありがとうございました。
やってみます。

お礼日時:2010/08/20 17:09

ご質問の通りの式にするならば次のようになりますね。



=IF(AND(F3>=100,F3<110),"A",IF(AND(F3>=110,F3<120),"B",IF(F3>=120,"C","")))

この回答への補足

わかりました。
ありがとうございます!!

補足日時:2010/08/20 17:10
    • good
    • 2

IF関数でネストした数式にする場合は、外側の条件から絞り込んでいく感じの数式にします(小さい数字から条件限定する方法でもよい)。



=IF(F3>=120,"C",IF(F3>=110,"B",IF(F3>=100,"C","100未満")))

評価するデータが増えた場合は、以下のような数式で簡潔に表示することができます。

=LOOKUP(F3,{100,110,120},{"A","B","C"})
    • good
    • 7
この回答へのお礼

LOOKUPを使っても良いんですね~
すっきりしていいですね!
ありがとうございます。

お礼日時:2010/08/20 17:12

100未満は空白とするなら次のような式になります。



=IF(F3>=120,"C",IF(F3>=110,"B",IF(F3>=100,"A","")))
    • good
    • 11

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

QIF関数か他の関数で、5つの複数条件を設定したい

IF関数をつかって、下記の条件で設定したいと思っています。

C5セルに 「=A5-B5」 という式を入れ、その際、C5セルに下記条件にあるような回答が出た場合、D5セルに、「ランクA」~「ランクE」のような表示が出るようにしたいのです。
初歩的かもしれませんが、どうかよろしくお願い致します。

(条件)
+5以上 ⇒ 「ランクA」を表示させる 
+2以上~+5未満 ⇒ 「ランクB」を表示させる 
-2以上~+2未満 ⇒ 「ランクC」を表示させる 
-5以上~-2未満 ⇒ 「ランクD」を表示させる 
-5以下        ⇒ 「ランクE」を表示させる 

Aベストアンサー

こんばんは!
すでに回答は出ていますので、参考程度で・・・
↓の画像のような方法もあります。

Sheet2に画像のように表を作成しておきます。
(実際はA・C列だけでOKですが、判りやすくするために敢えて、「未満」のB列も表示しています)

Sheet1のD5セルに
=IF(C5="","",VLOOKUP(C5,Sheet2!A2:C6,3,1))
という数式を入れると希望に近い形になると思います。

※ Sheet2のA2セルにはこれ以下はない!というくらいの数値を入れておきます。m(_ _)m

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

QEXCEL IF関数内で共通の条件式をまとめる方法

初めてご質問させていただきます。よろしくお願いいたします。
EXCELで以下のIF関数を使用しています。
U1セルには=NOW()関数で時間が表示されています。
要するに、9時15分から11時までの間で、15分間隔で大小関係を比較するセルを変更して、その結果に応じてA判定、またはB判定、または空欄のいずれかが選択されるIF関数になっています。
お伺いしたいことは以下の2点です。
(1) 各条件式で共通部分が必ず3つあります。最初のA判定とB判定の条件式を見ていただきたいのですが、HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30が共通です。この共通している部分を くくり出して一つにまとめる事はできないのでしょうか?
(2) 以下のIF関数をもっと短くエレガントに記述することはできなのでしょうか?

以上2点、ご回答よろしくお願いいたします。

=IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C3>B3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C4<B4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D3>C3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D4<C4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E3>D3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E4<D4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F3>E3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F4<E4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G3>F3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G4<F4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H3>G3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H4<G4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I3>H3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I4<H4),"B",""))・・・括弧省略

初めてご質問させていただきます。よろしくお願いいたします。
EXCELで以下のIF関数を使用しています。
U1セルには=NOW()関数で時間が表示されています。
要するに、9時15分から11時までの間で、15分間隔で大小関係を比較するセルを変更して、その結果に応じてA判定、またはB判定、または空欄のいずれかが選択されるIF関数になっています。
お伺いしたいことは以下の2点です。
(1) 各条件式で共通部分が必ず3つあります。最初のA判定とB判定の条件式を見ていただきたいのですが、HOUR($U$1)=9,MINUTE($U...続きを読む

Aベストアンサー

=IF(AND(INT(MOD($U$1,1)*96)>=37,INT(MOD($U$1,1)*96)<44),IF(INDIRECT(CHAR(INT(MOD($U$1,1)*96)+30)&3)>INDIRECT(CHAR(INT(MOD($U$1,1)*96)+29)&3),"A",IF(INDIRECT(CHAR(INT(MOD($U$1,1)*96)+30)&4)<INDIRECT(CHAR(INT(MOD($U$1,1)*96)+29)&4),"B","")),"")

解説
数式1=MOD($U$1,1) :NOW()の結果から日付(整数部分)を除いて時間表示
数式2=INT(数式1*96) :時間(シリアル値)*24*4で15分=1に変換
※数式2の結果
09:15-09:29 => 37、09:30-09:44 => 38、09:45-09:59 => 39
10:00-10:14 => 40、10:15-10:29 => 41、10:30-10:44 => 42、10:45-10:59 => 43

数式3=AND(数式2>=37,数式2<44) :9:15~10:59は真、左記を外れると偽
数式4=CHAR(数式2+30) :数値をキャラクタ文字に変換
数式5=CHAR(数式2+29) :数値をキャラクタ文字に変換
※数式4,5の結果
CHAR(66) => B、CHAR(67) => C、CHAR(68) => D、CHAR(69) => E
CHAR(70) => F、CHAR(71) => G、CHAR(72) => H、CHAR(73) => I

数式6=INDIRECT(数式4&3) :()内の文字が示すセル範囲を参照
数式7=INDIRECT(数式4&4) :()内の文字が示すセル範囲を参照

※数式6,7の結果
INDIRECT("B3") => B3、INDIRECT("B4") => B4

=IF(AND(INT(MOD($U$1,1)*96)>=37,INT(MOD($U$1,1)*96)<44),IF(INDIRECT(CHAR(INT(MOD($U$1,1)*96)+30)&3)>INDIRECT(CHAR(INT(MOD($U$1,1)*96)+29)&3),"A",IF(INDIRECT(CHAR(INT(MOD($U$1,1)*96)+30)&4)<INDIRECT(CHAR(INT(MOD($U$1,1)*96)+29)&4),"B","")),"")

解説
数式1=MOD($U$1,1) :NOW()の結果から日付(整数部分)を除いて時間表示
数式2=INT(数式1*96) :時間(シリアル値)*24*4で15分=1に変換
※数式2の結果
09:15-09:29 => 37、09:30-09:44 => 38、09:45-09:59 => 39
10:00-10:14 => 40、10:15-10:2...続きを読む

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Qエクセル IF関数が入った条件付き書式について

エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。
この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。
このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。

書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか?

ご教授お願いします。

Aベストアンサー

工夫代は様々あります。

条件付き書式で、
条件1として
セルの値が ="" に等しいときは色を塗らない
条件2として
セルの値が 次の値以上 10 で色を塗る
などのようにするのも一つの方法です。


条件付き書式で、
セルの値が▽ → 数式が 
に変更し、右の空欄に
=AND(C1<>"",C1>=10)
などのようにしてみるのも方法です。


あるいは。
数式を
=IF(B1="",0,A1/B1)
としておき、
加えてC1セルを右クリックしてセルの書式設定の表示形式のユーザー定義で
G/標準;-G/標準;;
と設定しておいて、条件付き書式で
セルの値が 次の値以上 10
で色を塗ってみてもよいでしょう。

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Qif関数で「20分以上経過」にしるしをつけたい

いつもお世話になっております。
エクセル2003で、以下のように作りましたがif関数がうまく働きません。

B1~AF1に各月1~31日の休憩時間を入力し、B2には遵守しているかの欄にします。
B1が20分を超える場合「×」そうでなければ「○」とB2~AF2に表示したいのです。
A2には基準値として :20:00 を入力しました。
B2には   if(B2>A2,"×","○") を入力しました。

しかしB1が20分未満「:01:00」等の場合でも「×」と表示されてしまいます。
元々B1の休憩時間は別シートからVLOOKUP関数で呼び出す式が入っていたので
関数を消して直接「:01:00」と入力し、セルの書式をユーザー書式「h:mm:ss」にしたり「時刻」にしたり試しましたが「×」のままです。
A2も同様セルの書式を変えましたが同じです。
時間は「h:mm:ss」の状態で、元ファイルから呼び出され、秒単位の表示なので、
B1はできれば10進数は使わずこの表記の状態にしたいと思います。
またA2の基準時間は、手動で60分にすることもあるので、A2のセルも利用できればと思います。

ネットで検索すると「時間は大小比較ができない」とあったのですが、
ここから先どうすればいいか行き詰っています
別の関数を3行目以降に追加しても構いません。
何かいい方法がないでしょうか。

よろしくお願いします。

いつもお世話になっております。
エクセル2003で、以下のように作りましたがif関数がうまく働きません。

B1~AF1に各月1~31日の休憩時間を入力し、B2には遵守しているかの欄にします。
B1が20分を超える場合「×」そうでなければ「○」とB2~AF2に表示したいのです。
A2には基準値として :20:00 を入力しました。
B2には   if(B2>A2,"×","○") を入力しました。

しかしB1が20分未満「:01:00」等の場合でも「×」と表示されてしまいます。
元々B1の休憩時間は別シートからVLOOKUP関数で呼び出す式が入ってい...続きを読む

Aベストアンサー

>A2には基準値として :20:00 を入力しました。

まず基本事項として,「:20:00」や「:01:01」といった時刻の記入の仕方はありません。
時刻や時間数を記入するときは,「0:20」(ゼロ時間20分)や「0:01:00」(ゼロ時間1分00秒)のように記入します。


手順:
A2の書式設定を時刻にする
A2に改めて
0:20  (20分のことです)
あるいは
1:00  (60分のことです。もちろん)
を記入する

1行目を時刻の書式設定にする
B1に
0:10
を必ず改めて記入する
B2に
=IF(B1>$A2,"×","○") 
と式を記入し,どっちが大きければ○や×なのか再確認してから結果を確認する。


さらに
1行目に元の数式を記入し,値を参照してくる
その状態で1行目のセルの書式設定を「標準」に戻し,「正しい時間の数値」がキチンと計算されているか再確認する

#時間の数字とは
たとえば0:20と記入したセルに「標準」の書式設定を付け直すと
0.013888889
という値が現れます。これが正しい時間の数値です。
もしもこの操作をしたときに関数の表示が例えば「:20:00」などのように現れたとしたら,計算式で参照した元のデータから間違っていますので,元からキチンと直します。

正しく時刻の値で引っ張ってこれていることが確認できたら,1行目を時間の表示に設定し直します。

>A2には基準値として :20:00 を入力しました。

まず基本事項として,「:20:00」や「:01:01」といった時刻の記入の仕方はありません。
時刻や時間数を記入するときは,「0:20」(ゼロ時間20分)や「0:01:00」(ゼロ時間1分00秒)のように記入します。


手順:
A2の書式設定を時刻にする
A2に改めて
0:20  (20分のことです)
あるいは
1:00  (60分のことです。もちろん)
を記入する

1行目を時刻の書式設定にする
B1に
0:10
を必ず改めて記入する
B...続きを読む

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

Q【VBA】IF構文の条件式で範囲が同一の場合

いつもこちらの識者の方々にはお世話になっています。
VBAの質問です。
IF構文でorを使って複数条件を指定したいのですが、下記のような場合、冗長な気がします。

Sub test()

IF Left$(Cells(1, 1), 1) = "あ" or Left$(Cells(1, 1), 1) = ”い" or Left$(Cells(1, 1), 1) = ”う" Then
Cells(1, 1).EntireRow.Delete

End Sub

条件式で範囲が同一の場合、例えば
IF Left$(Cells(1, 1), 1) = ”あ","い","う" Then
Cells(1, 1).EntireRow.Delete
のように、もっとスッキリした記述方法はありますでしょうか。

Aベストアンサー

InStrを使うのもシンプルだと思いますが、先頭一文字が対象なら Like演算子 を使ってもいいですね。


If Cells(1, 1) Like "[あいう]*" Then
  MsgBox "Hit!"
End If


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報