• ベストアンサー

Exel2003で#VALUE!表示を消す方法

Excelの関数に関しては素人同然なのですが、見よう見まねで 作っていると表示面で困る事がありまして、皆様のお知恵を拝借 したいと思います。 =IF(A7="","",CHOOSE(WEEKDAY(DATE($A$1,$A$2,A7)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) セルA1に西暦、A2に月を入力し、上記の関数で得られた結果でA7に曜日を表示する、というやり方を したいのですが、月によっては29日以降が表示されない為、 #VALUE!が曜日覧に表示されてしまいます。 #VALUE!で返された場合、結果は無視しても構わないので #VALUE!を表示させない方法はあるのでしょうか?もしくは 関数に追加すれば良い項目があれば、是非ご教授願います。 皆様どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • dober-o
  • ベストアンサー率59% (260/439)
回答No.3

セル A10 選択してコピー セル A154、A158、A162 にそれぞれ貼り付け とりあえず問題となるのは29-31日だから これで年間を通じてエラーは出なくなるでしょう おまけですが Weekday 関数を使わなくても書式設定「(aaa)」で簡単に曜日表示はできます

rockets
質問者

お礼

非常に簡単な方法で解決できました。 ご教授感謝申し上げます。有り難う御座います。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 内容が、#3さんかぶってしまいましたが、書いておきます。 A10 に以下の式を入れてください。 =IF(A7="","",TEXT(DATE($A$1,$A$2,A7),"(aaa)")) そして、Ctrl + C そして、Ctrl キーを押しながら、A14,A18,A22,A26,A30.... と曜日の所を全て選択して、Ctr+ V で、貼り付けて直してしまってください。 式は、A7 の部分で、本来は、以下でしたら、A155="" としなければらないない、単純なミスですが、式が長いと間違いやすいです。 =IF(A7="","",CHOOSE(WEEKDAY(DATE($A$1,$A$2,A155)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) なお、ここサイトでは、プライバシー保護のために、個人を特定化させるURLなどの情報を公開することは禁止されていますので、ご注意願います。

rockets
質問者

お礼

関数に関して殆ど分かってないので他サイトで似たようなケースの 方法に記述されていた数式をほぼそのまま引用しました。 大変参考になりました。 説明が難しいので実際のファイルをアップロード致しましたが 今後注意いたします。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.4

たとえばA154に入っている数式の A7="" を OR(A7="",A151="") に変えるだけでよいと思います。 あと、 曜日はCHOOSE関数を使わなくても、 ツールバーの書式→セル→表示形式→ユーザー定義で種類の欄に(aaa)と入力すればきちんと表示されます。 その場合は、 =IF(OR(A7="",A151=""),"",WEEKDAY(DATE($A$1,$A$2,A151)) という数式で十分です。

rockets
質問者

お礼

有り難う御座います。 非常に簡単な方法で改善出来る事が理解できました。 今後の参考とさせて頂きます。

  • choco_jiji
  • ベストアンサー率31% (528/1701)
回答No.2

ISERRORを使ってはどうでしょうか。 条件付書式で =ISERROR(A7) として書式を背景と同色にします。 エラーの時だけ書式が変わるので見えなくなるはずです。

rockets
質問者

お礼

こういう方法もあるのですね。 参考書読み返した所同じような方法が記述されていました。 参考にさせて頂きます。 有り難う御座います。

回答No.1

 再現できませんでした。#VALUE!と表示される年月日をお教えください。 その数式は、どこのセルに入力していますか? >A7に曜日を表示する、  とありますが、その数式だとセルA7には日を入力されていなければいけませんよね? セルA7に目的の日を入力して、セルB7にその数式を入力すれば問題なく表示できると思いますが・・・。

rockets
質問者

お礼

お陰様で色々な回答を得られる事が出来ました。 質問内容の不手際、申し訳御座いませんでした。

rockets
質問者

補足

申し訳ありません。A7には予め入力してある日付があります。 ※A7には「1」(1日)が既に入力されてあります。 ちなみにA1は「2006」A2には「2」と入力してあります。 今月は28日までですので29日以降存在しないのでエラーとなるようです。

関連するQ&A

  • エクセル2003の表示を教えてください。

    エクセル2003の表示を教えてください。 A1セルに2010年7月1日B1セルに数式で=CHOOSE(WEEKDAY(A25,1),"日","月","火","水","木","金","土")により曜日を表示してます。C1に土日だったら〇、そうでなければスペースとなる式を教えていただけますでしょうか。 sum関数しかわからないレベルの知識しか持っておりません。 どうぞよろしくお願いいたします。

  • エクセル関数について

    エクセル関数の使用方法について教えてください。 また、ストップしてしまいました。 日付から曜日を求められるように、CHOOSE関数とWEEKDAY関数を使用して以下のとおり入力しました。 (実際のセルの表示は違うのですが、分かりやすいようにA1とB1にしました) CHOOSE(WEEKDAY(A1),"(日)","(月)","(火)","(水)","(木)","(金)","(土)") 曜日を表示したいセルはB1です。 私としては、A1に日付が入力されていない場合は、関数が入っていても、B1は空白であってほしいのです。 いろいろ調べていたら、IFERROR関数が有効?のようなのですが、ソフトが古いらしく対応しておりません。 このような場合はどのようにしたら解決できるでしょうか。 因みに、IF関数の使用を試みたのですが、うまくいきません。 詳しい方、どうか教えてください。 よろしくお願いします。

  • Excelで曜日を表示させると、「土」となるエラー

    Excelで、A1に日付を記入して、B1に曜日が表示されるようにB1に関数を =TEXT(A1,"aaa") または =CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") と入力したのですが、A1が空白だと「土」と表示されてしまいます。出来れば何も表示されないようにしたいのですが、 何か、解決する方法はあるのでしょうか? ご回答お待ちしております。よろしくお願いいたします。

  • valueの非表示の方法

          A                B 1  20090505     =DATEVALUE(TEXT(A1,"0!/00!/00")) 2  20090506     ↓以下コピー 3  20090507          平成21年5月6日 4                  #VALUE 5 #VALUE A列は日付の入力のしやすさでそのようにしてます。印刷時は不要ですので非表示です。B列に=DATEVALUE(TEXT(A1,"0!/00!/00"))を下までコピーしたんですが、 エラー表示になってしまいます。A列に何も入力してないので当たり前ですが。条件付き書式で文字色を変えてやればエラー表示が見えなくなるのですが、 A4に20090508と入力してもいちいち文字色を変えてやらなければなりませんよね? でIF関数とISERROR関数でA列に何も入れてないときにB列でエラーを表示させないためにはどのようにすればよいのでしょうか? いろいろやってみたんですがどうしてもできません。 どなたか教えて下さい。おねがいします!

  • エクセルで曜日を表示したい

    いつもお世話になります。 エクセルのことで教えてください。 WEEKDAY関数を使って、A3セルに曜日を表示させたいと考えています。 (1)西暦は、A1セルでプルダウンで選ぶことになっています。  プルダウンから「2017,2018,2019」という具合で選べます。 (2)月日は、A2セルに手入力で4桁の数字を入力することになっています。  7月21日であれば、「0721」という具合で手入力します。(先頭の0は消えてしまいますが・・・) さて本題ですが、 A1セルとA2セルの情報を引っ張って、A3セルに、weekday関数で曜日を反映させる方法を教えてください。 なおA4やA5セル等、余白セルはありますので、他のセルや他のシートを経由することも可能です。 どうぞよろしくお願いいたします。

  • Excel 関数を使って曜日を自動的に出したい

    Excel関数を使って曜日を自動的に出るようにしたいです。 通常 10月1日 木 10月2日 金 10月3日 土 ・ ・ と表示したい場合、CHOOSE関数とWEEKDAY関数を使って 曜日を自動的に出すやり方はわかるのですが、 月と連動させて表示をさせたい (例) 10月 ← ★ここに「月」を入力すると ★その月に準じた日数が自動的に出てきて・・・ (10月なら31日まで、11月なら30日までというように) ↓ 1日 木 ←★さらに曜日も自動的に出る 2日 金 3日 土 という仕組みにしたいです。 どのように作ればよいでしょうか? わかりづらく申し訳ございませんが お知恵を貸してくださいm(_ _)m

  • #value!を非表示にしたい

    エクセルの関数に関する質問です。 Book「A」または「A'」のセルを参照にして、いくつかの関数をBook「B」、Book「C」およびBook「D」に書き込みました。 まずは、Book「A」のセル「a」またはBook「A'」のセル「a'」のどちらか入力されている方のセルを表示させる関数をBook「B」のセル「b」に作りました。 これです。↓ =if(「a」="",(if(「a'」=""," ",「a'」),「a」) 次に、セル「b」を参照にして、 =if(「b」=""," ",「b」) という関数をBook「C」のセル「c1」に作りました。 「a」または「a'」に入力されていなければ、「c1」は空欄になるはず・・・だけど、実際には参照セルに関数が入力されているからどうかな・・・と思いましたが、これは見事に、成功しました。 これが成功したので、さらに、「c2」に、 =if(「c1」=""," ",datedif(「b」,「c1」,"Y")) を作りました。 しかし、空欄か年齢のどちらかになるはずのセルが、「#value!」がでてきてしまい、空欄が出てきません。「a」または「a'」に入力されていれば問題なく年齢を計算して返してくれるのですが、「#value!」は目障りなので、表示させたくありません。参照を「a」または「a'」までさかのぼって関数を作ればもちろん問題ないのですが、いろいろ並べ替えなどをしておりそれは最高に面倒くさいのです。参照を「b」や「c1」にするとオートフィルを使って楽にできるので、こっちの方法を採用したいと思っています。 上の関数を使った結果出てきてしまった「#value!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

  • 年号表示を西暦と和暦のハイブリットにした

    フォーム上にテキストボックスを配して、西暦、和暦、曜日などを個別のテキストボックスで表示させています。これをひとつのテキストボックス又はふたつのテキストボックスで表示させたいと思っています。尚、テキストボックスは非連携「当日表示のみ」を前提とします。 [やっていること] 1,西暦表示は テキストボックスのプロパティーで「コントロールソース」にて「式ビルダ」を起動させ、「関数」で「組み込み関数」を選び「日付/時刻」の「=Date()」を選択。 2,和暦表示は 上記「1」の操作後、プロパティーの書式タブの「書式」gggee\年mm\月dd\日をコピー&ペーストしています。 3,曜日は テキストボックスのプロパティーで「コントロールソース」で「式ビルダ」を起動させ、関数」で「組み込み関数」を選び「日付/時刻」の「=Date()」を選択。エディターで「=WeekdayName(Weekday(Date()))」を作成し「貼り付け」を選択する。 [やりたいこと(可能ならIIが希望)] I,1(西暦)と2(和暦)をひとつのテキストボックスで表示させたい。例えば、テキストボックスをクリックする度に表示が変えられる。曜日は別のテキストボックスで表示させる。   II,1(西暦)と2(和暦)と3(曜日)をひとつのテキストボックスで表示させたい。例えば、テキストボックスをクリックする度に表示がループ式に変えられる。 以上ですが、ご指導宜しくお願いします。

  • #VALUE!を表示させないようにしたい

    C1=A1/B1で答えが#VALUE!になった時、表示させないようにしたいです。 A1とB1には計算式が入っているので(他のシートを参照しています)、IF関数やISERROR、ISERRでは対応できません。

  • #VALUE!表示の回避

    =IF(L16="":"",SUM(L16:U16))のような計算式を入れたセルが2つあり、このセルの計算値を求めた場合#VALUE!表示となります。この数式でSUM関数範囲内のセルに数字を入れれば結果はでますが、数字を入れてない状態では#VALUE!表示となって現れます。この#VALUE!表示の回避方法を教えて下さい。

専門家に質問してみよう