• ベストアンサー

エクセル(Excel2003)のIF関数で再び質問です

他の近い質問と回答を拝見して作ってみましたが、数式が間違っているようでエラーが出てしまうので教えてください。 度々の初歩的質問ですみません… SHEET2のセルA1に、SHEET1のセルA1が 1だったら1、 2だったら0.8 3だったら0.6 4だったら0.2 5だったら0 それ以外は- を表示させたいです。 =IF(SHEET1!P28=5,0,(SHEET1!D28=4,02,(SHEET1!D28=3,0.6,(SHEET1!D28=2,0.8,(SHEET1!D28=1,5,"-"))))) と入れましたが、入力した数式は正しくありません と出てしまいました。 どなたか添削していただけませんでしょうか。 Excel2003を使用しております。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • clyde123
  • ベストアンサー率100% (1/1)
回答No.1

=IF(Sheet1!A1=1,1,IF(Sheet1!A1=2,0.8,IF(Sheet1!A1=3,0.6,IF(Sheet1!A1=4,0.2,IF(Sheet1!A1=5,0,"-"))))) これでどうでしょうか?

nana82
質問者

お礼

すみません、質問の数式がめちゃくちゃでしたね… 一発でできました! 本当に助かりました。ありがとうございます!!

その他の回答 (3)

  • srafp
  • ベストアンサー率56% (2185/3855)
回答No.4

一読して思った点を・・ ・質問文に載っている式にある「SHEET1!P28」と「SHEET1!D28」は、「Sheet1!A1」では? ・Sheet1の名称を変更しているのであれば、変更後のSheet名になります。

nana82
質問者

お礼

ありがとうございます。 おっしゃる通り、思い切り間違えておりました… 無事解決しました。 このような質問に速攻で的確な回答をしてくださった皆様に感謝致します。本当にありがとうございました!!

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

=IF(SHEET1!P28=5,0,(SHEET1!D28=4,02,(SHEET1!D28=3,0.6,(SHEET1!D28=2,0.8,(SHEET1!D28=1,5,"-"))))) IFがことごとく抜けていますね。 IFが必要なのは最初だけじゃなく、条件比較するたびに必要です。 なので、 =IF(SHEET1!P28=5,0,IF(SHEET1!D28=4,02,IF(SHEET1!D28=3,0.6,IF(SHEET1!D28=2,0.8,IF(SHEET1!D28=1,5,"-"))))) としましょう。

nana82
質問者

お礼

ありがとうございます、見事にIFが抜けていましたね… その度に必要なんですね。当然のことのようですが全く気づかず、完全に見落としておりました。 参照セルも間違えていてお恥ずかしい限りです。 ご丁寧にどうもありがとうございました!!

回答No.2

こちらでいかがですか? =IF(Sheet1!A1=1,1,IF(Sheet1!A1=2,0.8,IF(Sheet1!A1=3,0.6,IF(Sheet1!A1=4,0.2,IF(Sheet1!A1=5,0,"-"))))) 記載されている数式は参照しているセルが違うかと思います。 こちらでご確認ください。 条件が複数あるならVLOOKUP関数を使われた方が良くないですか?

nana82
質問者

お礼

本当ですね、ご指摘の通り、数式がはちゃめちゃでした。 無事解決致しました! どうもありがとうございます。 ちなみにVLOOKUP関数でも考えたのですが、今の能力ではギブアップでした… またお尋ねすることがあるかもしれませんが、その際はよろしくお願いします。

関連するQ&A

  • エクセル(Excel2003)のIF関数について

    Excelの数式初心者です。 IF関数でつまづいたので質問させていただきます。 SHEET2のセルA1に、 SHEET1のセルA1が○だったら1、それ以外だったら0を表示させたいです。 SHEET2のセルA1に、 =IF(SHEET1!A1=○,"1","0") と入れましたが、#NAME! とエラーが出てしまいました。 ○や×は認識してくれないということなのでしょうか? 初歩的な質問かもしれませんが、どなたかご教示いただけますと助かります。 Excel2003を使用しております。 よろしくお願い致します。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • エクセルif関数について

    エクセル2010を使用しております。 シート1に日付と番号などが入力されています。 シート2には横並びのカレンダー(添付) A3に次ような結果を入れたいです。 シート1に入力された日付とシート2のカレンダーがイコールなら シート1の番号を返す。 下記では、エラーになってしまいました。 =IF(A1=マザー!D4:D74,マザー!A4:A74,"")

  • 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関数はこのような場合適していないのでしょうか? 何か良い方法がございましたらご教示頂けますと幸いです。 宜しくお願い致します。

  • エクセル関数に関して

    エクセル関数に関して質問です 「E8]に「0」が入力された場合は、「0」と表示させ、それ以外は計算値を表示させています 数式は以下です =IF((E8=0),E8,($J8*E8)/P8) 数式の値がエラーの場合(P8セルに数値が入力されていない時)はエラー表示になって しまうので、以下の数式を入れています =IF(ISERROR(($J5*E5)/P5),"入力待ち",($J5*E5)/P5) この時、「E8」が「0」の時は「0」表示、なお且つ数式がエラーの時は「入力待ち」とさせたい のですが、2つの数式を1つに書く事は出来ませんか? ご存じの方がおりましたら、ご教示願いたく 宜しくお願い致します

  • エクセル IF関数について

    IF関数について、皆様に質問です。 セルに入力された数値xがある数値yと同じか大きい場合は"NG"と表示し、数値aがある数値bと同じか小さい場合は"NG"と表示させたいと考えております。 IFを使って式を作成したのですが、『数式が多すぎる』というエラーになってしまいます。 具体的には、 セルB25に入力している数値が8.980の場合、 8.991と同じまたは大きい場合は"NG"と表示させたい。 同じセルB25で、8.969と同じまたは小さい場合は"NG"と表示させたい。 これをこのような式にしてみました。 =IF(B25<=9.991,"NG","",IF(B25>=9.969,"","NG")) これで『数式が多すぎる』というエラーになっています。 教えてgooで調べたのですが、解決には至っていません。 どなたかご教示いただけますでしょうか。

  • エクセルの関数の貼り付け方法について

    エクセル2003を使用して関数計算表を作成しています。 IF関数の中にAND関数を使用して数式を作ったのですが そのままコピーしてしまうと変換してほしい数字が変換されません 下記に詳細を書きました エクセルのシート1にこのような基本形の数式があるとします =IF(AND(T4=2,D9=77),F8,"") 次にこの数式をシート2にコピーして =IF(AND(T6=2,D11=77),F10,"") というふうに変換したいのですが 現状ではコピーして貼り付けが終わった状態から 手で数字を一文字ずつ消して打ち直していますが膨大なデータ量でして 大変苦労をしています 何とか皆様のお知恵をお借りしたいと思いまして質問させていただきました よきアドバイス宜しくお願いいたします すみません。補足をします。 シート1のセルA1の数式がこれです =IF(AND(T4=2,D9=77),F8,"") このシート1のセルA1の数式 =IF(AND(T4=2,D9=77),F8,"")を シート2のセルA1にコピーして =IF(AND(T6=2,D11=77),F10,"") という数式にしたいのです 現状ではシート2のセルA1に貼り付けが終わった =IF(AND(T4=2,D9=77),F8,"")を T4→T6へ、D9→D11へ、F8→F10へ一つ一つ手入力で 修正しております。膨大なデータ量です(涙) お願いします

  • エクセル関数で

    初歩的な質問で 申し訳ないですが。 シート 3枚に データーを入力して その計を 別シートに表示したいのですが、その時表示したいシートは日付で管理したいのです。  IF(TODAY()=A3,シート1!$O$2+シート2!$O$2+シート3!$O$2,IF(A3<100000,"")) の数式を立てたのですが、 この数式だと日付が変わるとそのセルは 表示が出なくなります。日付が変わっても そのシートの計算された数字はそのまま残るようにするにはどうしたら良いでしょうか? 無理なのかな? 教えて下さい。 A3以降A列には毎日の日付を入力してあります。    

  • IF関数

    =IF(G12="収入",入力!G3,入力!H3)この数式の場合G3、H3の行数値を別セル参照で変えるには。初歩的ですみません。エクセル2003。

  • 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」と指定すればよいのでしょうか? よろしくお願いいたします。

専門家に質問してみよう