プロが教える店舗&オフィスのセキュリティ対策術

お世話になっています。

ネットで調べようとしたのですが、どう検索して良いか分からず
質問させて頂きます。

エクセルにて、A1セルに『YYYY/M/D』という形で日付が入力されています。
A2セルには月の数字のみを、A3セルには日の数字のみを抽出したいです。
ただし、A1セルの日付は月、日共に1~9は01~09と表示されていないので、
日付の文字数や『/』の位置も固定ではないです。
また、他のデータにも使用するため、書式設定で『月』『日』と認識させるのは
不都合が生じてしまいます。

以上、分かる方がいましたらご回答お願いします。

A 回答 (5件)

A2に =MONTH(A1)


A3に =DAY(A1)

で、良いと思いますよ。
    • good
    • 1
この回答へのお礼

できました(^^)
回答頂いた中で、一番簡単で一番早く回答頂いたのでベストアンサーとさせて頂きます。
ありがとうございました。

お礼日時:2013/06/03 23:41

No.4 です。

No.4 のいちばん最後に書いた数式は、D2 セルで「12」(月)と指定した場合に正しく計算しませんので、あまり適切ではありませんでした。「2013/13/1」が「2014/1/1」に変換されないためです。

その数式を次式に差し替えていただけば、12 月の場合でも問題なく機能します。

=sumif(a2:a7,">="&date(2013,d2,1),b2:b7)-sumif(a2:a7,">="&date(2013,d2+1,1),b2:b7)

DATE 関数は、「2013 年 13 月 1 日」を「2014 年 1 月 1 日」に変換してくれます。失礼しました。
「エクセルにて、日付の月と日のみを抽出する」の回答画像5
    • good
    • 0

年月日のデータから月のみのデータ、日のみのデータを作製するには、No.1 さんが回答されているとおり、MONTH、DAY 関数を使います。

ちなみに年を求めるには、YEAR です。


>……ので、日付の文字数や『/』の位置も固定ではないです。


それは、日付を「文字列」として扱って加工することをお考えなのでしょうね。ですが Excel では通常、せっかく日付の形式になっている値を、わざわざ文字列に変えてしまうようなことはしません。日付は「数値」であるため、そのままで様々な計算に使えます。また、日付の場合は上述のとおり、簡単に月や日のみを求める関数が用意されています。

したがって今回、質問文に掲載されている課題をクリアするだけの目的なら、No.3 さんが回答されている TEXT ほかの文字列関係の関数は、不要です。ただし次のようにすることで、文字列を再び数値に戻すことも不可能ではありません。

数値を返す数式

○ =0+TEXT(A1,"m")   ……この数式を入力したセルの書式が年月日となっている場合は、
               「数値」、「0」、「G/標準" 月"」などの書式に設定を変更
× =0+TEXT(A1,"m月")  ……エラー

文字列を返す数式

○ =text(a1,"m 月の行事")
○ =text(a1,"m")&" 月の行事"

設定を変更していなければ、数値は右揃え、文字列は左揃えで表示されます。


日付データが元々数値であることを確かめるには、日付が入力されているセルの書式を「標準」に設定してみてください。「2013/6/1」と表示されていたのが「41426」に変化するはずです。日付の正体は、こういう整数の値だということです。

「/」という文字は、「41426」という値の中に使われていませんね。ですから FIND、LEFT、MID、RIGHT、SUBSTITUTE、REPLACE などの文字列関係の関数が出る幕ではないということになります。


>また、他のデータにも使用するため、書式設定で『月』『日』と認識させるのは不都合が生じてしまいます。


おっしゃっているような単に表示させればいいケースでは、次のとおりに入力するものです。「41426」という値を使って、月や日を表示させていることになります。

数式    =a1
セルの書式 m
      または
      d


こういった作業列は用意せずに、「他のデータにも使用する」という際に、その数式の中に MONTH などを混ぜる手段もあります。

1 月~ 6 月までの期間は 12 か月の 50 % であることを求める数式

=month(a1)/12             ……セルの書式を「パーセンテージ」などに設定
あるいは
=text(month(a1)/12*100,"0.0")&" %"  ……文字列を作製


あるいは、MONTH で月を求める必要すらないというケースもあります。例えば次式は、A 列が 6 月の日付である行のみ、B 列を合計するという数式です。

=sumif(a2:a7,">=2013/6/1",b2:b7)-sumif(a2:a7,">=2013/7/1",b2:b7)
あるいは
=sumif(a2:a7,">=2013/"&d2&"/1",b2:b7)-sumif(a2:a7,">=2013/"&d2+1&"/1",b2:b7)
             …… D2 セルに「6」と入力し、書式を「G/標準" 月"」に設定
「エクセルにて、日付の月と日のみを抽出する」の回答画像4
    • good
    • 1

>他のデータにも使用するため、書式設定で『月』『日』と


>認識させるのは不都合が生じてしまいます。
他のデータにどのように使うかを示さないとお望みの回答は
付きにくいと思いますよ。

文字列として表示するなら
A2に =TEXT(A1,"m")又は=TEXT(A1,"m月")
A3に =TEXT(A1,"d")又は=TEXT(A1,"d日")
    • good
    • 1

質問者様へ



参考になればいいのですが

>A2セルには月の数字のみを・・・
◆計算式の挿入方法
1)関数の挿入(fx)ボタン_をクリック(※数式バーの左側にある)
2)ダイアログボックスを表示するので…関数の分類(C)で「日付/時刻」_を選択
3)関数名(N)で「MONTH」(月を指定する)_を選択
4)OKボタン_をクリック
5)関数の引数ダイアログボックスを表示するので…シリアル値欄にデータの入っているセル(ここではA1のセル)を指定してOKボタン_をクリック

以上で、「月」の抽出が完了

>A3セルには日の数字のみを・・・
◆計算式の挿入方法
上記の順序で進み…3)関数名(N)で「DAY」(日を指定する)_を選択
後は、上記に準ずる

以上で、「日」の抽出が完了
「エクセルにて、日付の月と日のみを抽出する」の回答画像2
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!