• ベストアンサー

エクセル 曜日

エクセルで曜日を表示する関数で悩んでいます。 =IF(ISBLANK(B1),"",DATE(2013,A1,B1)) こんなふうに入れたのですが、「41374」と表示されます。 A1には「4」、B1には「10」と入れたので、2013年4月10日の曜日、つまり「水」を表示させたかったのですが… 意味不明な数が出てきてしまいました。 別のシートでは、ちゃんと曜日が表示されているので、数式に誤りはないと思うのですが。 どうすればよいのでしょうか? 回答よろしくお願い致します。

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

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8525/19377)
回答No.6

>意味不明な数が出てきてしまいました。 どっかの空きセルに「41374」と入力して、「書式」→「セル」→「表示形式」→「日付」→「*2001/03/14」を選んでみて下さい。 「41374」が「2013/04/10」って言う表示になった筈です。 実は「41374」ってのは「1900年1月1日からの日数」で、日付時刻を表す数値なのです。これを「日付シリアル値」とか「シリアル値」といいます。 さて、では、先ほどと同じように、「書式」→「セル」→「表示形式」のダイアログを呼び出して「ユーザー定義」にして、「種類」の所に「aaa」と入れて見て下さい。 「サンプル」の所が「水」になりませんか?なりましたね? >別のシートでは、ちゃんと曜日が表示されているので 別シートの「ちゃんと表示されている所」で「書式」→「セル」→「表示形式」を開いて見ましょう。「ユーザー定義」になってて「種類」が「aaa」になっている筈です。 ちなみに「ユーザー定義」の「種類」を「aaaa」にすると「水曜日」と、「ddd」にすると「Wed」と、「dddd」にすると「Wednesday」と表示されます。

gsb57529
質問者

お礼

みなさん回答ありがとうございました! 曜日の表示のされ方も色々できて便利ですね。

その他の回答 (5)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

おそらくC1セルに入力した式ですね。 DATE関数の答えが41374と表示されたわけです。この値はシリアル値といって1900年1月0日からの日数を表しています。 この値をシリアル値といってエクセルでの日付や時間計算の基本となっています。 そのシリアル値を曜日の表示にしたいのであればみなさんが答えられているようにセルの表示形式で aaa のようにすればよいでしょう。ただしこのように表示させた場合には例えば条件付き書式で土曜日や日曜日に色を設定する場合には注意が必要です。セルそのものの値はあくまでも日付であって曜日の値ではありません。 セルの値を曜日そのものに変えるのでしたら次のような式にします。 =IF(ISBLANK(B1),"",TEXT(DATE(2013,A1,B1),"aaa"))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 それは曜日を表示する関数ではなく、「2013年の『A1セルの数値』の月の『B1セルの数値』の日」の日付を求める関数です。  Excelではシリアル値と言って、「1899年12月31日0:00:00から何日が経過したか」という日数で日付を計算しています。  つまり、「41374」は「1899年12月31日から数えて41374日後の日付」である「2013年4月10日」という訳です。  只このままでは日付して解りませんから、更に「セルの書式設定」によって、セルに入っているデータそのものはシリアル値の「41374」としたままで、パソコンの画面や印刷時に表示される見かけだけを「2013年4月10日」や「水」に変えてやるようにします。  その「セルの書式設定」の設定方法は次の様なものです。 曜日を表示させるセルを選択(複数のセルをまとめて選択する事も可)   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に aaa と入力   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック  これでシリアル値が入力されている攻めの表示が曜日に切り替わります。  「aaa」は曜日を表示させるための設定コードです。  尚、「aaaa」とした場合には「水曜日」と表示されますし、 「yyyy"年"m"月"d"日」と入力した場合には「2013年4月10日」、 「yyyy/m/d」と入力した場合には「2013/4/10」、 「yyyy/mm/dd」と入力した場合には「2013/04/10」、 「m"月"d"日」と入力した場合には「2013/4/10」、と表示されます。  又、「種類」欄で[ユーザー定義]を選択する代わりに、「日付」を選択しますと、「2013年4月10日」、「2013/4/10」、「2013/4/10」、等々の各種の日付の選択肢が現れます(但し、曜日を表示するための選択肢は現れません)ので、日付を表示させるだけでしたらこちらの方が解り易いかと思います。  又、この他にも、元々、「水」の様な曜日が表示されていたセルの「セルの書式設定」のみをコピーするという方法もあります。 曜日が表示されているセル(この場合は「別のシートのちゃんと曜日が表示されている」セル)を右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ 曜日を表示させるセルを選択(複数のセルをまとめて選択する事も可)   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある[書式]と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック

  • kanchan-a
  • ベストアンサー率64% (18/28)
回答No.3

「41374」は2013年4月10日のシリアル値です。 日付をデータ化した数値と思って下さい。 データは正解なので、この数値を曜日表示するように変えます。 簡単な方法は、曜日がちゃんと表示されているシートのセルを選択、 書式のコピー/貼り付けを押し、表示したいシートに戻り、セルを クリック、または範囲を選択するだけです。 罫線や文字色等の書式もコピーされるので注意して下さい。 他の方法は、そのセルで右クリック→セルの書式設定→表示設定→ ユーザー定義→「aaa」と入力すると曜日表示になります。 曜日の他にいろいろな表示に変えられますので、覚えておくと便利です。

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

曜日のみを表示したいのであれば、 セルの書式設定で、ユーザー定義を選び aaa としてください。

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.1

>こんなふうに入れたのですが、「41374」と表示されます。 セルの書式設定を、日付にしてください。 現在は日付を表すシリアル値表示になってます。

関連するQ&A

  • Excelで日付を入れると自動的に曜日が入る

    方法を教えてください。 家庭訪問の日時を保護者に連絡する用紙を作ります。 Excelのシート1のA列に児童の名前を出席番号順に全員分入れます。 B列には日にちを入れます。C列には曜日を、D列には時を、E列には分を入れます。 これをシート2に飛ばし、保護者に渡すカードを作ります。 シート2に飛ばすことはできるのですが、シート1の入力をなるべく簡単にするために、B列に日にちを入れると、自動的にC列に曜日が入るようにしたいのです。 例えば、「21」と入れたら「月」、「22」と入れたら「火」・・・というふうにです。 IF関数を使うといいのかなとは思いますが、上手にできません。 どんな関数にすればいいのか、教えていただけませんか? よろしくお願いします。

  • EXCELでの関数についての質問

    EXCELの関数についての質問です。EXCELのバージョンは2010を使用しています。 状況を簡略化して説明すると以下のとおりです。 Cell(A1)=実数   (数値、あるいは空白) Cell(B1)=数式   (=IF(ISBLANK(A1),"",50/B2*100) Cell(C1)=数式   (=IF(ISBLANK(B1),"",100-C2) これでA1~A100までデータが散在するデータベースを想定してください。 この時B1は定数を参照しているのでA1がBLANKの時、ISBLANK関数の効果で文字が表示されず、 またA1が数値の時には式の通り計算が行われます. しかしCでは、B1の数式を参照していることになるので、B1がBLANKの場合でも計算が行われ、 結果として#VALUE!のエラーとなります。 この状況を回避するためにはどうすればいいのか、スマートな解法をお待ちしています。 VBマクロなどの方法でも大丈夫ですが、基礎的なことしかわからないのでコメントを付けていただけるとありがたいです。 そこまで実害は無い問題なので、例えば別個に計算するなどの力技はご遠慮ください。

  • excelのバグ?

    エクセルで別のシートを参照し,参照先のセルが空白の時は"Blank"と表示するようにしていました. しかし,G列からは参照先が空白の時に0と表示されます. A列で用いている数式(A列ではBlankと表示している関数)をそのまま貼り付けても0になります. 関数は if(isblank(別シート!セル),"Blank",sum(別シート!セル)) です. A列とB列間に1列挿入すると,F列のBlankがすべて0に変わってしまいます.(数式は変化していません) もう少しみてみるとG列以降はif関数のTrue判定時の操作を読み込んでいないようです. バグなのでしょうか? 解決方法をご存知の方がいらっしゃればご教授お願いいたします.

  • Excelの関数について

    Excelの関数について教えてください。 C1に50、D1に30、E1に=SUM(A1:D1)、B2に=E1-SUM(A1:B1)、が入力されています。 このB2の計算式を、「もしB1:C1のどちらか片方(もしくは両方)に値が入力されているときはB2の計算式の結果が返ってくる。B1:C1のどちらも空欄のときは「#N/A」が返ってくる。0は入力有りとみなす」というようにしたいです。 IF関数にISBLANK関数を入れてみたんですが、片方に入力有りでも「#N/A」が返ってきてしまいます。 =IF(ISBLANK(B1:C1),NA(),E1-SUM(A1:B1)) ISBLANK関数じゃダメだったんでしょうか? どういうふうに変えればいいんでしょうか? すみませんがどなたか教えてください。

  • エクセルで関数の計算範囲に別の関数式で出した空白がある場合

    MAX関数を使う際、選択した範囲内(A10:A1000)に IF関数とISBLANK関数を使った数式 ( =IF(ISBLANK(C1),"",B2+C1) )の空白があると MAX関数がVALUEとなって計算されません どうしたらいいですか?

  • エクセル勤務表作成中なのですが・・・

    初めて質問します。よろしくお願いします。 エクセル2003にて勤務表を作成しているのですが、こんな事ができるものなのでしょうか?     A    B   C   1 H18年  8月  2  21   月   出勤  3  22   火   出勤  4  23   水   休み   ・   ・   ・ 32  20   日   休み シート1にこの様な表を作り、シート2の1つののセルに休みの日付を自動的に抽出したいのですがこの様なことは可能でしょうか? ちなみにA1,B1には数字のみの入力で表示形式で年月を表しています。A2には=DATE(A$1+1988,B1,21)という関数で日にちを表示、A3以降は=A2+1というようにして表示しています。曜日は=IF(A2="","",WEEKDAY(A2))という関数で表示しています。 私エクセル関数に関してはあまり詳しくありません。この表もフリーソフトで入手したものを使用しています。 よろしくお願い致します。

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

    Sheet1  |**********| Sheet2       A       B 1|2005/01/20|ABC| 2|2005/03/15|DEF| 3|2005/04/20|XXX| わかりずらくてごめんなさい。エクセル初心者です。 関数のことで質問させてください。 Sheet2の「B」の列に「ABC」の語を含んでいた場合、Sheet1の「********」のセルに「A」の列の日付に半年をプラスした日付を表示させたいのです。 もし含んでいない場合は、表示しなくてもいいのですが、この場合どのように数式を作っていいのかわかりません。 ちなみに自分で作った数式は =if(sheet2!B1=”ABC”,date(year(sheet2!A1)+0,month(sheet2!A1)+6,day(sheet2!A1)+0),””)でした。 しかし、これでは「B2」や「B3」に「ABC」が入った場合には適用されません。 頭が痛くなってきたので質問させていただくことにしました。 よろしくお願いいたします。

  • エクセルで2013年分の曜日の表示がズレてしまう。

    エクセルについての質問です。 B1に年(2013) D1に月(1)   を入力し、 A10から縦に日付けが入るようにし、 その横のB10以降B列に曜日が入るような表を作っています。 表示は A10・・・1 B10・・・月 A11・・・2 B11・・・火 A12・・・3 B12・・・水 というような形です。 数式は A10に =DATE(B1,D1,1) B10に =A10 A11に =A10+1 B11に =A11 セルの書式設定はA列が ユーザー定義 d B列が ユーザー定義 aaa にしています。 この方法で2012年までは曜日の自動入力(?)にズレはなかったのですが、 2013年分からは曜日がズレてしまい、 本来2013年1月1日は火曜日なのですが、表示されるのは日曜日になってしまいます。 どのようにしたら直りますか? ちなみにエクセルが2010を使っています。 どうぞよろしくお願いします。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • エクセルについて

    日付(2008/06/01)で曜日をA1~A31まで表示(ユーザー定義(aaa)月~日)してあります。 A1→日 A2→月 A3→火 A4→水・・・・・ B1~B31に、IF関数で(=IF(A1="日","-","8")と表示したいのですが、A1~A31の曜日は文字ではないので関数式が成り立ちません。 文字として認識させるにはどのような方法がありますか。

専門家に質問してみよう