• ベストアンサー

WEEKDAY 空白も7になってしまう

オフィス2007です。 A1に2012/3/3といれ、 B1に=WEEKDAY(A1,1)といれ オートフィルすると、 A列に日付が入っていなくてもB列は7になってしまいます。 A列が空白の場合、B列に数式が入っていても空白にするには どのような式を入れればいいでしょうか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! B1セルには =IF(A1="","",WEEKDAY(A1)) という数式を入れオートフィルで下へコピーしてみてください。 空白セルをWEAKDAY関数で参照してしまうと 1900/1/0 を参照するの同じことになります。 Excel上でのシリアル値「1」が1900/1/1ですので 1900/1/1(日)の1日前のシリアル値を参照している結果だと思われます。 ※ 正確には1900/1/0 とはシリアル値で言うと 0より大きく、1未満になると思います。 この程度で参考になりますかね?m(_ _)m

a983742qyuikj
質問者

お礼

なるほど!ものすごく納得しました。 ありがとうございました。

その他の回答 (1)

  • kota0725
  • ベストアンサー率61% (8/13)
回答No.2

セルB1に以下の式を入れます。 =IF(A1="","",WEEKDAY(A1,1))

a983742qyuikj
質問者

お礼

IF関数を使うことで 回避できました。 ありがとうございました。

関連するQ&A

  • WEEKDAY関数と条件付き書式について

    EXCEL2010使用です。 B列に日付、C列に曜日の表を作成する場合、 WEEKDAY関数を使って 日付に対応する曜日を求めるのに、 例として曜日先頭セルがB4、種類を日曜日スタートに設定する場合、 「C4」セルに=WEEKDAY(B4,1)の関数を挿入、下方向にコピーします。 その後、日曜日の日付と曜日だけフォントの色を変更するため、 条件付き書式の「数式を使用して、書式設定するセルを決定」で、 数式を入力する場合、=WEEKDAY($B4)=1と入力しますが、 =WEEKDAY(B4,1)の「B4」と、=WEEKDAY($B4)=1の「$B4」の意味は分かるのですが、 なぜ「$B4」にしなければいけないのか?(この場合「B4」でも結果は同じです) どなたか教えてください。お願いします。

  • Excelにて空白行がある場合の引き算

    A1~A9まである整数,B1~B9まである整数が入っており, A10,B10ともに空白。 その後A11~A19まである整数,B11~B19まである整数が入っており, A20,B20ともに空白。 以下データが約20万ほどあるエクセルファイルがあります。 C列にAからBを引いた答えを入れたいのですが, 空白のセルがあるせいで,オートフィル(ダブルクリック)ができません。 (C1=A1-B1とすると,C9までしか計算できません。) A,Bが空白の場合,Cも空白にしたいです。 単純に,IF(A1="","",A1-B1)とやってみたのですが, やはりC9までしか計算できませんでした。 オートフィルのドラッグ以外の簡単なやり方があれば教えてください。

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • EXCEL2007 WEEKDAY関数で空白セルの色

    家計簿をエクセルでつけているんですが、 WEEKDAY関数を使って、土日に色をつけました。 行を挿入すると、空白セルに土曜日の色がつくんですが、どうすれば色がつかないようにできるでしょうか? 列Aのすべてに対して、空白なら色なしって風に条件付き書式を利用したいです。

  • 時間の引き算 #VALUE!と#REF!を空白にし

    エクセル 時間の引き算 #VALUE!と#REF!を空白にしたい A列 1:00 2:00 なし 4:00 5:00 と入れて、B5には「=A5-A4」を入れて、上へオートフィルしました。 そうすると、画像のように B列 #REF! 1:00 #VALUE! #VALUE! 1:00 という結果になったのですが、 #VALUE!や#REF!を空白("")にするにはどうすればいいでしょうか? IF関数を使うのでしょうか? ご教授よろしくお願いします。

  • A列に文字列または数字を入力したら隣接するD列に今日の日付が入るようにしたいです

    A列に文字列または数字を入力したら 隣接するD列に今日の日付が入るようにしたいです。 (A1に「あ」と入力したら、 D1に「2007/10/25」が自動的に入力されるようにしたいです) これはIF関数を利用するのでしょうか?? どんどんデータが多くなっていちいち数式をオートフィルするのは面倒だし オートフィルタをかけて「空白のセル」を検索した時に、 IF関数で””のセルも空白セルとして認識されるのが嫌なので 数式以外でこの方法を行うことは出来ないでしょうか? よろしくお願い致します。

  • エクセルExcelでの空白を詰めてのデータ抽出の方法

    ぜひ力を貸してください(>_<) Sheet1は入力専用で A列は日付で固定、B列に入力をします。B列は空白が多いです。  A  B 7/20 7/21 160 7/22 7/23 230 7/24 185 7/25 これをSheet2にB列の空白を詰めて 日付順に表記させたいです  A  B 7/21 160 7/23 230 7/24 185 Sheet2の関数式を教えていただきたいです よろしくお願いいたします

  • A列が今日の日付ならC列のセルの背景に色をつけたい

    A列が今日の日付ならC列のセルの背景に色をつけたい エクセル2007です。 A1に2012/03/04といれ、 下へオートフィルしています。 そしてC列に対して 「A列が今日の日付なら、セルの色を塗りつぶす」と言うようにしたいのですが 式がわかりません。 条件付き書式の 新しい書式ルール→「数式を使用して、書式設定するセルを決定」 で 「次の数式を満たす場合に値を書式設定」 に「=$A1=date()」と入れると 「入力した数式は正しくありません。」 となってしまいます。 どうすればいいでしょうか?

専門家に質問してみよう