- ベストアンサー
Excel2003 IF関数について
お世話様になります。質問をさせて下さい。 Excel2003を使用しており、IF関数にて下記の点を求めたいのですがご指導願います。 ------------------------------------------------ 行A 行B 【リスト】 【ポイント】 (A1) トマト (B1) 1 (A2) さくらんぼ (B2) 2 (A3) キャベツ (B3) 1 ------------------------------------------------ シート1に、上記のような【リスト】・【ポイント】という名前を指定した表を作ってあります。 シート2のセルA2に、トマトorキャベツと入力した場合は「1」ポイント、それ以外は「2」を自動的に表示させたいのですが、 まだ何も入力をしていないセルにも下記のような式をいれておくとすべて「1」が表示されてしまいます。 =IF(OR(A2=リスト!$A$1,A2=リスト!$A$3,),1,2) そもそもこのような式ではなく、A1・A3の場合は「1」で、A2の場合は「2」と指定すればよいのでしょうか? よろしくお願いいたします。
- ykringo
- お礼率62% (10/16)
- オフィス系ソフト
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>上記と同様まだ入力していないところに「#N/A」と出てしまいます。 >こういうのは表示させないようにする方法があるのでしょうか?? たとえば、さくらんぼとキャベツの間に1行挿入して、 (A1) トマト (B1) 1 (A2) さくらんぼ (B2) 2 (A3) 0 (B3) (A4) キャベツ (B4) 1 このようにしておきます。A3は0にしておき、B3には何も書きません。 未入力のところは 0 になります。 セルの書式設定で、ユーザー定義を選び、種類に # と入力しておけば、0も表示されなくなります。
その他の回答 (3)
> まだ何も入力していないところに「1」が表示されてしまうんです。 #1さんの式をお借りするなら、 =IF(ISBLANK(A2),"",VLOOKUP(A2,リスト!$A$1:$B$3,2,FALSE)) とすればよいです。 ただ、 =IF(ISBLANK(A2),0,VLOOKUP(A2,リスト!$A$1:$B$3,2,FALSE)) として、 B列の表示書式を「#,##0;;」とすれば「0」は表示されなくなりますし、 B列の値を別の式の参照元にしてもエラーが起きません。
お礼
ご説明ありがとうございます! こういうやり方もあるんですねーー。勉強になります。 たしかにエラーが起きなくなりました。 また明日会社で実際にやってみる際に参考にさせていただきます^^ 本当にありがとうございました!
- shinkun0114
- ベストアンサー率44% (1553/3474)
ふと気づきましたけど、シート2の名前は「リスト」になってますよね?
- shinkun0114
- ベストアンサー率44% (1553/3474)
ためしにやってみましたけど、トマト・キャベツ以外の場合はちゃんと2になりますよ? あるいは、そこまできちんとリストを作ってあるなら、VLOOKUP関数を使ってみてはいかがでしょう。 =VLOOKUP(A2,リスト!$A$1:$B$3,2,FALSE) お試しください。
補足
さっそくのご説明ありがとうございます! わたしの書き方が悪くて申し訳ないのですが、 トマト・キャベツ以外のときに「2」は表示されるのですが、 1年かけてこの表を使っていく予定なので、 たとえば100行目などの下のほうまで式を入れておくと、 まだ何も入力していないところに「1」が表示されてしまうんです。 見映えだけの問題なのですが何か解決方法がないかなーと思いまして。 VLOOKUPのご指導もありがとうございます! さっそくこちらもやってみたのですが、 上記と同様まだ入力していないところに「#N/A」と出てしまいます。 こういうのは表示させないようにする方法があるのでしょうか??
関連するQ&A
- EXCEL2007 IF関数についてです。
別シート(sheet1)のセルA1には - もしくは数値が入ります。 sheet2のセルB1にIF文で - の時は空白、数値で60以上ならば"有"、それ以下なら 空白としたいのすが、 =IF(ISNUMBER(sheet1!A1)+AND(sheet1!A1>=60),"有","") とB1に記述しても - の時も"有"が出てしまいます。 どう記述したらよろしいでしょうか??
- ベストアンサー
- その他MS Office製品
- Excel2000のIF関数についてと他方法教えて下さい。
AシートとBシートを作り、Aにはデータを入れ、Bの方で必要なデータの形にして資料を作成しています。 Aシートの方のセルAの列には、文字形式のデータが全てに入っています。セルB列には、A列と同じ形式のデータですが、空欄のセルがあります。 このA列B列のデータをBシートのA列に下記のように表示させたいのです。 例 Aシート A-1 ○○○ B-1 A-2 △△△ B-2 ▲▲▲ をBシートでは A-1 ○○○ A-2 △△△ ▲▲▲ というようにAシートのB列にデータがある場合は、改行して表示したいのです。 また、データがひとつの場合は改行させたくありません。 はじめは、単に Aシート!A1&" "&Aシート!B1 と書きましたが、これでは、B1にデータがないときも改行されてしまいます。 そのため。IF関数で下記のように書いてみましたが、うまくいきません。 =IF(Aシート!A1<>"",Aシート!A1,Aシート!A1&" "&Aシート!B1) 何かよい方法を教えて下さい。よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- IF、ORなどの関数について
ある数値を分類わけする式が作りたいのですが ぜんぜん分かりません。誰か助けてください。 セルA1の値が 100以上ならA、100以下ならBを返す式を下記のように作ってみました。 =IF(OR(A1=100,OR(A1>100,)),"A","B") これに 100以上200以下はCという情報を入れたいのです。 どうやればいいですか?? 誰か教えてください。 困ってます。 これで言ってる意味伝わるのでしょうか?それもとても不安です。。。。
- ベストアンサー
- オフィス系ソフト
- Excel2003 IF関数
シート1のA列に値を入力して行き、終了したら同じようにシート2のA列に値を入力して行きます。 この時、シート1に入力した値とシート2に入力した値は同じでなければなりません。 シート2は再チェック用なので、シート1と値が異なる入力をした場合、 値を入力するセル(A列)の隣のセル(B列)に、 IF関数、真の場合『OK』・偽の場合『入力エラー』と反映されるようにしております。 =IF(B1=seat!B1,"OK","入力エラー") 『OK』の場合は表示させる必要は無いので、条件書式を使用し、 フォント色を白くして、表示させないようにしております。 ただ、シート1を入力してからシート2に入力を始めるため、 シート2のB列には既にに『入力エラー』の表示がでてしまっています。 ※値を入力しないセルもあるのでその場合は『OK』が表示されますが、 条件書式によりフォント色を白くしておりますので、表示されません。 シート2には何も入力をしていないので、『入力エラー』と表示されるのは当然なのですが、 シート2に値を入力してから、シート1,2で異なる値の場合だけ『入力エラー』と表示されるのが理想です。 IF関数はこのような場合適していないのでしょうか? 何か良い方法がございましたらご教示頂けますと幸いです。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ドロップダウンリストとIF関数
ドロップダウンリストから選択すると指定の数値を出したいのですが、IFを複数設定するにはどうすればよいでしょうか?リストから「A」を表示すると同じシート内の別の場所に「1」、「B」ならば「2」と表示させたいです。「=IF(A1=B1,C1)」の式でひとつは可能なのですが複数ある場合の方法が分からないので教えて下さい。
- ベストアンサー
- Windows XP
- IF関数について質問です。
IF関数について質問です。 現在あるセルに: =IF(NOT(OR(A1=$B$1,A1=$B$2)),A1,"") とB1とB2セルに入っているのを省いていたのですが、段々と省くものが多く(100セル以上に)なってきたので、リスト全体に当てはまれば省くというやり方をしたいです。 どなたか知恵のある方、教えていただけないでしょうか。 また、もっと効率良い方法があるという方もアドバイス宜しくお願いいたします。
- ベストアンサー
- その他(業務ソフトウェア)
- IFとVLOOKUP関数
VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?
- ベストアンサー
- Windows系OS
- IF関数についておしえてください。
お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、 B2>=1,C2<=0の場合”○” C2>=1,B2<=0の場合”○” B2>=1,C2>=1の場合”○” B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。
- ベストアンサー
- Windows 7
- Excel:=IF(ISBLANK(A1),・・・・・?
Excel2003です。 1行目から33行目までが1ページ、34行目から66行目までが2ページ、67行目から100行目までが3ページのシートで A1セル、A34セル、A67セルにそれぞれのページ数(1~3)が入力されるようになっている表があります。(各ページのページ設定の用紙サイズはA5) A1セルに「1」、A34セル、A67セルが空欄の場合は1ページのみ、A1セルに「1」、A34セルに「2」、A67セルが空欄のときは1~2ページのみ、A1セルに「1」、A34セルに「2」、A67セルに「3」のときは全頁を印刷する、というような技は質問タイトルのように「IF(ISBLANK(A1),・・・」というような単純な関数のみでは不可能ですか? もし何か方法があれば御教示下さい。 ちなみにA1セルには「1」のみ、A34セルには「2」or「""(空白)」、A67に「3」or「""」以外の文字は入りません。 本来であれば「印刷範囲の設定」で範囲指定の上、印刷をすれば済む話なのですが、そこを敢えてそれを使わずに済む方法をあれば知りたいのです。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
たびたびありがとうございます! なるほどー!そんなやり方があったんですね。 無事に何も表示されなくなりました! 詳しくご説明をいただきましてありがとうございました^^ 仕事で使うため困っていたのですが助かりました。 また何かありましたらよろしくお願いいたします。