- ベストアンサー
エクセルにて、日付の月と日のみを抽出する
お世話になっています。 ネットで調べようとしたのですが、どう検索して良いか分からず 質問させて頂きます。 エクセルにて、A1セルに『YYYY/M/D』という形で日付が入力されています。 A2セルには月の数字のみを、A3セルには日の数字のみを抽出したいです。 ただし、A1セルの日付は月、日共に1~9は01~09と表示されていないので、 日付の文字数や『/』の位置も固定ではないです。 また、他のデータにも使用するため、書式設定で『月』『日』と認識させるのは 不都合が生じてしまいます。 以上、分かる方がいましたらご回答お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A2に =MONTH(A1) A3に =DAY(A1) で、良いと思いますよ。
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
年月日のデータから月のみのデータ、日のみのデータを作製するには、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/標準" 月"」に設定
- gyouda1114
- ベストアンサー率37% (499/1320)
>他のデータにも使用するため、書式設定で『月』『日』と >認識させるのは不都合が生じてしまいます。 他のデータにどのように使うかを示さないとお望みの回答は 付きにくいと思いますよ。 文字列として表示するなら A2に =TEXT(A1,"m")又は=TEXT(A1,"m月") A3に =TEXT(A1,"d")又は=TEXT(A1,"d日")
- eneteiso
- ベストアンサー率80% (4/5)
質問者様へ 参考になればいいのですが >A2セルには月の数字のみを・・・ ◆計算式の挿入方法 1)関数の挿入(fx)ボタン_をクリック(※数式バーの左側にある) 2)ダイアログボックスを表示するので…関数の分類(C)で「日付/時刻」_を選択 3)関数名(N)で「MONTH」(月を指定する)_を選択 4)OKボタン_をクリック 5)関数の引数ダイアログボックスを表示するので…シリアル値欄にデータの入っているセル(ここではA1のセル)を指定してOKボタン_をクリック 以上で、「月」の抽出が完了 >A3セルには日の数字のみを・・・ ◆計算式の挿入方法 上記の順序で進み…3)関数名(N)で「DAY」(日を指定する)_を選択 後は、上記に準ずる 以上で、「日」の抽出が完了
お礼
できました(^^) 回答頂いた中で、一番簡単で一番早く回答頂いたのでベストアンサーとさせて頂きます。 ありがとうございました。