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
    • 73
この回答へのお礼

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

お礼日時: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
    • 15
この回答へのお礼

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

お礼日時: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
    • 4

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



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

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

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

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

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

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



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

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

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

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

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

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

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで複数の以上~以下の範囲から検索

例えば
検査値が0.12として
0.1以上、0.19以下は "A"
0.2以上、0.29以下は "B"
0.3以上、0.39以下は "C"
0.4以上、0.49以下は "D" ・・・ と十数個の範囲と検索値があります。

IF関数を使うと、とても長い式になるので何か良い検索方法と関数を
ご教授を頂けないでしょう。

よろしくお願いいたします。

Aベストアンサー

このケースなら以下のような配列定数を使用した(もちろんセル範囲でも対応できます)LOOKUP関数を使用するのが簡単です(検索値がC2セル)。

=LOOKUP(C2,{0.1,0.2,0.3,0.4},{"A","B","C","D"})

>ABC・・・のところを文字ではなく数式でもVLOOKUP関数は使えるのでしょうか?

”A"などの部分に、そのまま数式を入れれば(あるいは対応するセルに「=」から始まる数式を入力しておけば)文字列の場合と同様にLOOKUP関数を使用できます。

QExcel IF関数でのセル範囲指定の方法

エクセルでチェック項目を確認したいと思っています
例:
  A B C D E
1 ○       OK
2   ○ ○   OK
3         NG

A~Dの範囲でひとつでも○があれば「OK」ひとつもなければ
「NG」と判定をしたいのです。
例では4つのセルだけなのですが実際はかなりのセル数があります。

E1セルに
「=IF(OR(A1="○",B1="○"C1="○",D1="○",),"OK","NG")」

A~Zまで範囲を指定したい場合はどのように記述すればよいのでしょうか?
ご存知の方 ご教示よろしくお願いいたします。

Aベストアンサー

=if(COUNTIF(A1:Z1,"○")>0,"○","×")

"○"の数を数えてあげるのはいかがでしょうか。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで範囲内の条件を満たす数値を返す関数を教えてください。

エクセルで範囲内の条件を満たす数値を返す関数を教えてください。

100以下なら1111
100超~200以下なら2222
200超~300以下なら3333
300超~400以下なら4444
400超~500以下なら5555
500超~600以下なら6666
600超~700以下なら7777
700超~800以下なら8888
800超~900以下なら9999
900超なら10000

上記のような条件があり、入力した数字が該当する条件の範囲内に該当している数字を抽出したいのですが、それができる関数を教えてください。

例えばA1セルに650と入力するとB1セルに上記の条件で該当する7777を表示する、
A1セルに100と入力するとB1セルに1111、
901とA1に入力するとB1に10000と表示されるなどのようにしたいのです。

IFを使った関数では7つまでしかネストできないので、上記の場合10ネストしなければならないのでIF関数が使えません(使える方法があるかもしれませんが私は知りません)。
ネストせずに「&」を使う方法も考えたのですが、それだと数値として扱われず文字として扱われてしまい表示形式を自在に編集することができなくなってしまいます。

良い解決方法を教えてください。

エクセルで範囲内の条件を満たす数値を返す関数を教えてください。

100以下なら1111
100超~200以下なら2222
200超~300以下なら3333
300超~400以下なら4444
400超~500以下なら5555
500超~600以下なら6666
600超~700以下なら7777
700超~800以下なら8888
800超~900以下なら9999
900超なら10000

上記のような条件があり、入力した数字が該当する条件の範囲内に該当している数字を抽出したいのですが、それができる関数を教えてください。

例えばA1セルに650と入力するとB1セルに上記の条件で該当する7777を...続きを読む

Aベストアンサー

お示しの条件を示す表が例えばD列からF列を使って入力されているとします。D1セルには超、E1セルには以下のように入力します。D2セルには0、E2セルには100、F2セルには1111と入力し、D3セルには100、E3セルには200、F3セルには2222のように入力します。以下同様にします。
そこでA1セルに数値を650のように入力したときに該当のデータをB1セルに表示させるためにはB1セルに次の式を入力します。

=IF(A1="","",VLOOKUP(A1-1,D:F,3,TRUE))

A列のデータに対応させるためにはこの式を下方にオートフィルドラッグすればよいでしょう。

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Qエクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

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エクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q【エクセル】IF関数  AまたはBならばCと表示

引き続き、お世話になります。

IF関数の使い方について教えてください。

A1セルが「1」ならば B1セルに「●」を表示 ←これは出来ます。

A1せるが「1」または「6」ならば B1セルに「●」を表示←これができません。

ANDを組み合わせるのですよね???
どのようにすればいいか、ご存じの方教えてください。

Aベストアンサー

B1のセルに、以下の数式を入力します。

=IF(OR(A1=1,A1=6),"●","")


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

人気Q&Aランキング

おすすめ情報