• ベストアンサー

EXCELのDATEに関する関数について困っています

関数の得意なかた教えてください! データの集計をしているのですが 日付の表記が例えば19990427のように 羅列されてしまっています。 4~3月の年度ごとに 数字を表記させたいのですが (例えば19990401は1999年度、     20030331は2003年度) なにか使える関数はありますでしょうか? 困っているので教えてください。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.6

文字列のまま処理しても出来ることは出来るんでですが。 やはり、後のことを考えるとExcel上で「19990427」という表記のまま 置いておくのは、いろいろと面倒ではないかと思うので、一旦ちゃんと 日付シリアルに変換したほうがいいと思います。 列を挿入しておいて(B列とします)、そこに =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) こうすれば、日付シリアルが出来上がります。その上で =IF(MONTH(B1)>=4,YEAR(B1),YEAR(B1)-1) こうするのが本筋だと思うんですけど・・・。 後で日付がらみの処理をする時には、B列を参照すれば済みますから。

hanao05
質問者

お礼

やってみたら出来ました!!! ありがとうございます~ とっても分かりやすい説明で助かりました。

その他の回答 (6)

noname#140971
noname#140971
回答No.7

19990331__1999年度 19990401__2000年度 20030331__2003年度 =LEFT(A1,4)+(RIGHT(A1,4) > "0331") & "年度" 文字列であれば、こんな感じで・・・。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.5

>19990331は1999年度、 >19990401は2000年度と >表示させたいのですが =IF(A1="","",IF(MID(A1,5,2)*1>=4,LEFT(A1,4)+1,LEFT(A1,4)))&"年度" で、よろしいのでしょうか。 一般的な年度の表記と違いますが。

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.4

通常の年度表記なら IF(VALUE(RIGHT(A1,4))<401,LEFT(A1,4)-1&"年度",LEFT(A1,4)&"年度") でいいと思うのですが、ご質問の場合はちょっと違うのですね。 IF(VALUE(RIGHT(A1,4))>331,LEFT(A1,4)+1&"年度",LEFT(A1,4)&"年度") ということなのかしら。。。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.3

もっとスッキリな式が有るかと思いますが B2セルに =IF(A2="","",IF(MID(A2,5,2)*1>=4,LEFT(A2,4)*1,LEFT(A2,4)*1-1))&"年度"

hanao05
質問者

補足

ありがとうございます! こちらの式を入力させていただきましたが 年度がマイナス1になってしまいます。 3月と4月の切り替えはうまくいっているようなのですが・・・ お手数ですが直し方をおしえてください(>_<)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

セルA1に日付が入力されているとして =LEFT(A1,4)&"年度" で、如何でですか。

hanao05
質問者

補足

早速の回答ありがとうございます。 19990331は1999年度、 19990401は2000年度と 表示させたいのですが 難しいでしょうか(>_<)

回答No.1

A1に値がかかれているとして 西暦=LEFT(A1,4) 月=MID(A1,5,2) 日=RIGHT(A1,2) できりだせます

関連するQ&A

  • Excelの関数を教えてください

    初めまして。よろしくお願いします。 関数を使って、以下のようなデータを作成することができれば、 その関数を教えてください。 Sheet1には次のように入力されています   A       B 1 日付      金額 2 2010/1/1 500 3 2010/2/5  300 4 2010/1/23 10000 5 2010/2/1  200 ・ ・ ・ A列に日付、B列に金額が入力されていて、行は決まっていません。 これをSheet2に集計したいのですが、B2~B13に関数を使ってできますか? Sheet2   A     B 1 月    金額 2 1月 3 2月 4 3月 ・ ・ ・ 13 12月 14 合計 Excelがわからなくてこまっています。詳しい方、ぜひ教えてください。 よろしくお願いします。

  • EXCELで関数だけの集計を行いたい。

    こんにちは。 エクセル(VER97以上)の関数のみを使用して(マクロを使わず) 以下のような集計を実現したいのですが可能でしょうか? シート1 A B 1 日付 内容 2 2001.11.27 データ1 3 2001.11.27 データ2 4 2001.11.27 データ3 5 2001.12.03 データ1 6 2001.12.03 データ2 7 2001.12.03 データ3 8 2001.12.15 データ1 9 2001.12.15 データ2 10 2001.12.15 データ3 11 2001.12.15 データ4 12 2001.12.15 データ5 13 2001.12.15 データ6 シート2 1 日付 件数 2 2001.11.27 3 3 2001.12.03 3 4 2001.12.15 6 5 総合計 12 (Tab区切りデータです) シート1に入力した日付データをシート2に日付でグループ化して データ件数を集計したいのですが関数で行おうとするとかなり難し そうですが、うまい関数を使えば出来そうな気もします。 実現可能でしょうか? よろしくお願いします。

  • エクセルの関数で困っています!

    エクセルの関数について困っています。 現在で仕事で下記のような表を作成しています。 日付 品名  区分 個数  価格  合計 1/10 りんご  1  3  100 300 1/23 ばなな  2  2  200 400 2/20 りんご  1  2  100 200 この表でりんごはりんご、ばななはバナナで集計するには SUMIF関数が必要とのことなので区分分けして集計してます。 さらにこれを日付分けして集計したいんです。 次にこんな表を作ろうと思っています。 月日 りんご合計 ばなな合計 1月  300  400 2月  200 3月 4月  そのためにはSUMIF関数にさらにSUMIF関数を重ねて書かないとダメかな?と思っているんですが、どのような数式になるかわかりません。 区分分けしてかつ日付分けして集計したいのです。 この表を例にとって数式を教えていただけると助かります。 どうかよろしくお願い致します。

  • エクセルの関数

    エクセルの関数についての質問です。 シート1(売上)日付・金額 シート2(月報)日付・金額 シート1(売上)から日付と金額を拾い出して、シート2(月報)に集計したいのですが、シート1(売上)では日付が同じときもあり、シート2(月報)では金額も合計しなくてはいけないのです。もし、ご存知の方がいらっしゃいましたら教えてください。 こんな感じです。 シート1(売上) 日付   金額 2月2日  20000 2月4日  25000 2月5日  20000 2月4日  18000 2月7日  20000 2月10日  23000  ・    ・  ・    ・  ・    ・ シート2(月報) 日付   金額 2月1日  ここに関数 2月2日  ここに関数 2月3日  ここに関数 2月4日  ここに関数 2月5日  ここに関数 2月6日  ここに関数 2月7日  ここに関数  ・     ・  ・     ・  ・     ・ 伝わりましたでしょうか? よろしくお願い致します。

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

    エクセルで月の集計をしたく、 関数を使って、簡単にまとめたいと思っています。 添付のように集計したいのですが、関数をご教授いただけませんか? sheet1(7月分のデータ)とsheet2(8月分のデータ)があります。 sheet3に7月と8月の集計をしたいです。 ※今後、9月、10月と増えていき、品目も増えると思います。 よろしくお願いいたします。

  • Excelでのデータ集計/関数の組み合わせ等

    Excelでのデータ集計/関数の組み合わせ等 いつも、お世話になっております データ集計用に配列数式や関数を駆使しているのですが 思った通りの集計が出来ません。 以下のような集計方法を教えて頂けますでしょうか。 日付-ID-数 2010/7/1-AAA-5000     -BBB-3000     -CCC-0 2010/7/2-AAA-6000     -BBB-3000     -CCC-4000 …… 2010/8/1-AAA-4000 …… 1月単位でID毎に数が1以上あるレコードの数と その合計を取得したいのです。 ex1:2010/7/1-2010/7/31 AAA 31件 100000 ex2:2010/7/1-2010/7/31 CCC 30件  80000(7/1が0なので件数は1件減る) {=SUM(IF(MONTH(!$A$1:!$A$500)=1,1,0))}のような式では 日付の無いセルも参照している為、(ID:BBBの前には日付がない) 空白セルが1月と見なされてよけいな数字が入ってしまいます。 (1900/1/0と見なされている) YEAR関数も併用してみようと思いましたが上手く行きませんでした。 以上、よろしくお願い致します。

  • エクセルの関数を教えて下さい。

    エクセルがまったく分からない初心者です…。 次のような数字の羅列を作りたいのですが関数がわからず困っています。 A列に 000005 000004 000003 000002 000001 000010 000009 000008 000007 000006 000015 000014 …以下略 のような5から始まって数字が4つ減ったところで10になり、また数字が4つ減ったら15になり という表を作りたいのですが、どのような関数を使えば出来るでしょうか…? 分かり易く教えて下さる方、もしくはそんな関数にしなくてもこうすれば出来るという方法をご存じの方、ご教授よろしくお願いします。

  • IF関数で無記入のとき、無表示にする方法

    エクセル2003を使用しています。今、月別の年度比率の表を作っています。 4月~9月末まで数字データを打ち込み、今年が、基準年度である昨年と比べて数字が上だったら、所定欄に「増加」と表記するようにIF関数で設定をしました。 しかし、既に基準データとなる昨年度の数字が入力しているため、まだ今月以降のデータが未入力にもかかわらず、増加・減少と表記する欄にも増加と表記が返させられてしまいます。、 そこで、対象とするデータの一つが未入力の場合、返す表記を空欄にするにはどのようにすればいいのでしょうか?いろいろ試したんですが、訳がわからなくなってしまいました。アドバイスをお願いします。

  • エクセルの関数 2

    エクセルの関数についての質問です。 以前、同じ質問をさせてもらったのですが、うまくできなかったので、より細かく、質問させて頂きたいと思います。 シート1(売上)日付・金額 シート2(月報)日付・金額 シート1(売上)から日付と金額を拾い出して、シート2(月報)に集計したいのですが、シート1(売上)では日付が同じときもあり、シート2(月報)では金額も合計しなくてはいけないのです。もし、ご存知の方がいらっしゃいましたら教えてください。 こんな感じです。 シート1(売上) 会社名    日付   金額   会社名   日付   金額  A社    2月2日  20000   G社   2月2日  20000  B社   2月4日  25000   H社   2月6日  15000  C社   2月5日  20000    I社   3月1日  10000  D社   2月4日  18000   J社   3月15日  23000  E社   2月7日  20000    K社    2月4日  40000  F社   2月10日  23000   L社   3月25日   13000 シート2(月報) 日付   金額 2月1日  ここに関数   (シート1で日付が2/1の時は、それぞれの金額を合計し、集計する。) 2月2日  ここに関数    ↑↑↑ 2月3日  ここに関数   と言うような式を入れれば出きるかと 2月4日  ここに関数   思っています。 2月5日  ここに関数 2月6日  ここに関数 2月7日  ここに関数  ・     ・  ・     ・  ・     ・ 伝わりましたでしょうか? どんな、式を入れたらよいか教えてください。 以前はSUMIFを使えばと、教えて頂いたのですが、知識不足でうまくできませんでしたので、再度、質問をさせて頂きました。 よろしくお願い致します。

  • エクセル関数

    お世話になります データシートから 集計シートに集計させる関数あれば関数をお教えください *フォーマットが決められているためPVT等は使用できません データシート1 ID|管理番号|使用者番号|数量|日付 01|12E22100|12 |1 |2008/01/01 02|12345678|01 |5 |2008/01/01 03|12E22100|12 |1 |2008/01/01 04|12Y22100|12 |1 |2008/01/01 05|001234T7|015 |4 |2008/01/01 06|12E22100|12 |1 |2008/01/01 集計シート2.xls 管理番号|01|2|3|4|12|015| 12E22100| | | |3 |  | 001234T7| | | | |4 | 12345678|5 | | | | | 上記が結果です 管理番号に対して使用者番号ごとに合計数量を出したいのですが かのうですか? わかるかたよろしくお願いします