• ベストアンサー

日付の抽出

E4で2008年7月10日ならI4に10と その他同じでE列の日付をI列に転記する方法はありませんか? IF関数とDAYでやってましたが、うまくいきません。 知恵を貸してください。よろしくお願いします。

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

  • ベストアンサー
  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.4

なぜ質問の最も重要な部分を添付図のみに依存し、質問者のことばで説明しないのかな? 補足でも例示はされているが肝心の説明がなされていない。回答者に甘えすぎだと思う。 と言いながら、こちらで質問の趣旨を推測しました。 ・E列に表示されている日付の ”日”部分を"月”によって列ずれして表示したい。 ・E列のデータは1年分以上発生しうる?のか3行目の”月”は6月/7月が複数存在している ということで回答します。質問意図と異なるならきっちりと条件提示してください。 添付図ではH4から該当のデータを示したいようなので =IF(EOMONTH($E4,0)=EOMONTH(H$3,0),DAY($E4),"") をH4に記述し、希望範囲にCopy&Pasteすれば「私の推測条件」はみたされます。 ※ただし、3行目のデータに工夫が必要です。どんな工夫をすればよいかは自分で考えてください。

motty7777
質問者

お礼

お礼が遅れましたが、いろいろ試行錯誤してできました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.5

どの列に表示するのかは、どんな条件(ルール)に従っているのか解らないので、何とも答えようがありません。

motty7777
質問者

補足

そうですね、質問が不適切でした。 お手数をおかけしました。

全文を見る
すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

No2です。 月が途中で切り替わるのが面倒ですが、3行目に月がタイトル表示されているのを利用するとして… H4に =IF(MONTH($E4)=H$3,DAY($E4),"") を入力して、右、下へオートフィルではいかがでしょうか? (1年分しか対応していません)

全文を見る
すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

表示だけで良いのなら… E列を同じ値(日付)を設定しておいて(=E4などの式でも良い)、表示書式を d に設定しておけば日数の部分だけ表示されますが、そういうことではないのかな?

motty7777
質問者

お礼

ありがとうございます。 説明不足みたいでした。 返事ありがとうございます。 E4が2008/10/10ならK4に10 E5が2008/10/15ならK5に15 E6が2008/10/18ならK6に18 E7が2008/11/15ならL7に15 E8が2008/12/15ならM8に15 という意味なのです。

全文を見る
すると、全ての回答が全文表示されます。
  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.1

スマートな方法じゃないかも知れませんが、 日付がシリアル値なのであれば、引き算でOKです。 例えば、2009/07/01はシリアル値で39995です。 よって、2009年7月は日付の値から39994を引けば何日かが分かります。 同様に2009/08/01は40026なので、2009年8月は日付の値から40025を引けば何日かが分かります。 これを応用してうまい方法があれば。。。

motty7777
質問者

補足

返事ありがとうございます。 E4が2008/10/10ならK4に10 E5が2008/10/15ならK5に15 E6が2008/10/18ならK6に18 E7が2008/11/15ならL7に15 E8が2008/12/15ならM8に15 という意味なのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クエリで日付の抽出条件

    アクセスのクエリで日付の条件抽出をしたいのです。シャープ(#)が日付のリテラル値ということまではつき止めたのですが、ここで問題発生です。 文字列には*や?のような便利な文字が使えるのに、日付で使おうとするとエラーになってしまいます。 例えば#01/05/2?# のように2001年5月20日~29日を抽出しろ、としても出来ません。 日付抽出には*や?のような文字はないんでしょうか? どうしてもないようなら関数でもしょうがないのですが、関数だと#01/1?/?3# (2001年10月~12月のうち、03、13、23日を抽出)みたいな複雑な命令が(簡単には)出来ないような気がするんです。 どなたかお助け下さい。

  • 日付の抽出

    表計算ソフト(CalcとかExcel)を使って セルに、〇何年/△月/曜日 を入力すると 該当する日付を抽出したいのです。 (月と、曜日は複数) 1/1から12/31まで、日付を並べて、weekday関数を使うと 見えるのですが、必要な日だけ、画面内に収めたく 抽出する方法がわかると、助かります。

  • カテゴリーから日付の小さい物を抽出させたいのですが・・・

    A列  B列 C列 D列 E列 F列 G列・・・ 日付 CD 数量 品名 出庫 入庫 項目 11/1 10 2個 *** 11/2 10/30 神奈川 11/2 11 2個 *** 11/3 11/1 愛知 11/5 20 4個 *** 11/7 11/1 静岡 11/8 30 6個 *** 11/9 11/2 鹿児島 項目  数量 日付  入庫 鹿児島 2個  11/8 11/2 神奈川 2個 11/1 10/30 県名から”数量”・”日付”・”入庫”だけ抽出させたいのですが、どの様な関数を使えばいいのでしょう? 手入力ですればいいのでしょうが、数も多く時間をかけず作業を早く終わらせたいので、いい知恵があれば教えてください。

  • エクセルと日付の関数と並び替え

    エクセル初心者です。 日付の勉強をしているのですが 今、下の画像のようなデータを作成しました。 一番左の列が、別のデータベースから転記した日付を シリアル値に変換したものです。 それを真ん中の列にコピーして、日付に変換しました。 そのデータの中から、YEAR関数とMONTH関数を使って 年と月のみの日付にしたものが、3列目です。 ここで、疑問なのですが、3列目を昇順に並び替えたときに きちんと昇順に並び替えができませんでした。 9月、10月、11月ときれいに順番に並べるには何か 複雑なセル設定が必要なのでしょうか。 教えてください。

  • エクセル 日付の修正

    お尋ね致します。 あるエクセルの表なんですが、A列が、31001(令和3年10月1日)という形の日付になっています。 これをyyyy/mm/ddに変えるため、B列の全行に2021と入力し、C列にmid関数で月を取り出し、D列にright関数で日を取り出し、この3列を使ってE列をdate関数で2021/10/01 にしています。 これよりスマートな方法があったらご教示願えませんでしょうか? ちなみに最後の形はR3/10/01でもOKです。

  • 本日の日付のセルの色を変えたいのですが・・・

    はじめまして、エクセルで在庫表を作っています。 A列は空白 B列に使用日 C列に前日在庫 D列に使用数 E列に仕入数 F列に差引在庫数 といった簡素なものですが、一ヶ月分の表を作ると ちょっとわずらわしくなってきます そこで、本日の日付のセルの色を変える関数がないかどうか調べてみました。 このページの内容が近いかな?と思いhttp://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_1.htm 下段のほうの=DAY(TODAY())という関数を試してみました。 12月17日の日付を打ち込んでみると、変わりません・・・ ですが17と打ち込むと1900年1月17日の日付が入力され、セルの色が変わりました・・・ この関数では本日の日付のセルの色を変えることは出来ないのでしょうか? どうかお分かりの方いらっしゃいましたらご教授お願いいたします。

  • 今日の日付のデータをすばやく抽出するには・・

    売上日報をエクセルで作っています。 A列に1から順にNOを入れています(LOOKUP関数を使うためです) B列に日付を入れています。 C列に社名を入れています。 その他の列にもいろんなデータが入っています。 本日の日付だけをすばやく抽出したいと思うのですが、どうすれいいか分かりません。 オートフィルタで今日の日付を選ぶ方法はやれます。 でも、もっと早く抽出できる方法はないでしょうか? 数ヶ月分のデータが入っているため、オートフィルタの三角をおしたあと、今日の日付を探すのに結構手間取ります。 もっとすばやく抽出したいのです。どんな方法でもいいです。どなたか教えて下さい。

  • 日付で0を抜く

    日付が0123(1月23日)の形式で$startに保存されています。 これの0を抜く方法をシンプルにしたいと思ってます。 現在こんなかんじです。 ##月日を作る @date = $start =~ m/.{2}/g; $mons = @date[0]; $days = @date[1]; if($mons < 10){$mons = sprintf("%01d",$mons);} if($days < 10){$days = sprintf("%01d",$days);} print "$mons月$days日\n"; 正解ってのはないんでしょうけど、これ以上にシンプルにする方法はありますか?これでOKと言うのなら、それでも構いません。 何か良い方法があれば教えてください。

    • ベストアンサー
    • CGI
  • 連続していない日付データからの抽出

    エクセルで、   A   B 1 日付 売上   2 11/21  900 3 11/22 2000 4 11/26 1800 5 11/27 1300   D    E 1 日付  前日比 2 11/21 **% 3 11/22 **% 4 11/26 **% 5 11/27 **% とあります。 そこで、   G   H   I 1 日付 売上 前日比 2 任意 (抽出) (抽出) 3 と、Gに日付を入力したらH、Iにデータが抽出されるように関数を作りたいと思います。 Hには =INDEX(A2:B5,MATCH(G1,A2:A5,0),2) Iには =INDEX(D2:E5,MATCH(G1,D2:D5,0),2) と入力して抽出をしましたが、 例えばG列に元データには無い、「11/23」が入力されたときは、11/23よりも先で1番にくる11/26のデータを抽出するようにしたいのですが、どうしたらいいでしょうか? よろしくお願いします。

  • エクセルで日付の文字列のシリアル値化

    E5セルに 2020年7月1日~2021年6月1日 という文字列があります。 AFセルに =IF(E5="","",LEFT(E5,FIND("日",E5))*1) AG5セルに =IF(E5="","",MID(E5,FIND("~",E5)+1,11)*1) として日付をシリアル値で取り出しています。 このエクセルを他の人にわたしたのですが、その方がE5に 2020年8月1日~2021年9月1日 という文字列をコピペしたところ AF5もAG5もVALUEエラーになってしまいました。 最初、入力した文字列の形式が誤っているのではと思って、メールでファイルをおくってもらったのですが、入力形式に問題はなく、VALUEエラーが出ていました。 わたしの端末で、そのセルにカーソルをあて、エンターキーを押すと日付に変わりました。 どのような原因でこうなるのでしょうか? VALUEエラーが出ないようにするのはどうすればいいのでしょうか?

専門家に質問してみよう