[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カレンダー』(みど)
A2=TEXT($A$1+ROW(A1),IF(DAY($A$1+ROW(A1))=1,"m/d","d")) でどうでしょうか? (ROUGE)
ごめんなさい。最初に提示した数式はまずかったので、更新しています。 再度お試しください。 (ROUGE)
何故上手く行かないのかよく分かりませんが (私のパソコンでは上手くいってますが もしかして、列方向にコピーするのかな?) (ROUGE)さんに成り代わって、ちょっと式の説明を・・・。
$A$1+ROW(A1) ROW(A1)は、セルA1の行は何行目ですか?→1 下にコピーすると、ROW(A2)となり →2 ですので A1の値に、A2なら1 A2なら2 と順番に足していってます。
IF(DAY($A$1+ROW(A1))=1,"m/d","d") DAY($A$1+ROW(A1))の括弧の中は 上で説明した日付と同じ日付です。 A2ならA1に1 A3ならA1に2・・・と足した日付です。 DAY(日付)=1 は、日付の日にちは1ですか?→(そうです)or(違います) ○○年△△月□□日の□□の部分を取り出して、1かどうか判断します。 IF(条件「日付の日にちは1ですか?」,真「"m/d"」,偽「"d"」)なので 日付が1が真=日付が1(そうです)なら "m/d" が偽=1でない(違います)なら "d" を選びます。
一番大きな(最初に出てくる)TEXT(値,表示形式)の“表示形式”の所に IF関数の結果が適用されます。 1日なら TEXT(日付,"m/d") 1日でないなら TEXT(日付,"d") です。
・・・・ですが、分かりますかね?
ROW関数を使っているので、縦方向にコピーした時に 思った通りの表示になると思います。 「単純に縦方向とか横方向とかじゃない」なら A2=TEXT($A$1+ROW(A1),IF(DAY($A$1+ROW(A1))=1,"m/d","d")) ^^^^^^^^^^^^ここと ^^^^^^^^^^^^ここ 日付の所に、今入っている式を入れてみてください。
「そんな理由じゃないみたい」なら、どの様にうまくいかないのか (どんな結果が表示されるのか、どこのセルにいれて どの様にコピーしているのか・等)書いてみてください。 なにか分かるかもしれません。
(HANA)
1行目の書式をdにしておいて B1に =IF(DAY($A$1+COLUMN(A1))=1,TEXT($A$1+COLUMN(A1),"m/d"),$A$1+COLUMN(A1)) として右にコピーではどうでしょう? 参照する際には =--B1 のようにして、文字列になっている各月初日のデータも数値に 戻してあげればよさそうです〜 ROW()が行、COLUMN()が列の番号を返す関数です。エクセルのヘルプも是非ご覧くださいね^^ (かなれっと)
書式のdは先にセルに設定しておけば良かったんですね。 (値にしただけでは使えないのでどうしようかと思ってました。)
それにしても TEXT(日付,"m/d")だと 表示されている以外に年が残っている (値にしただけで日付として使える)のに TEXT(日付,"d")とすると、表示されているだけの文字になって 年月が残っていないのは 不公平に思えるのですが ・・・・そう言うものなんですかね。
(HANA)
To HANAさん >TEXT(日付,"m/d")だと 表示されている以外に年が残っている・・・ 2005/7/18 で試して下さい。 7/18と入力したら2006/7/18と勝手に判断するのと同様だと考えます。 (sin) チョッと、読み違えたかも知れません。その際は、ご容赦を。 ただ、当年ならいいのですが、過去や将来の場合の事もありますので・・・ 追記しました。
あぁ、「残っている」のではなく、 勝手に「今年の年を付加している」 ってことですね。 たしかに、年が変わった直ぐに前の月の日にちを入れようと思ったら 勝手に今年の年になるので 年から入れなくてはならず面倒な 思いをした記憶があります。 了解です。
なら、"m/d"で表示した所を値に直す際には (2006/12/31の次の日が2006/1/1その次が2007/1/2になりました。) 前のセルから年を引っ張ってくるか どこかに年を入れるセルをつくるか・・・。
途中で年をまたぐ事があるなら、作業行を作って 表示を変えるだけの行(をいつも表示) 計算に使うには作業行から・・・という方法を採るのが安全かもしれないですね。
(HANA)
お二方の仰るとおりですね^^; フォローありがとうございました m(_ _;)m (かなれっと) ☆ 曜日データも連続するなら、そちらを =$A1+COLUMN(A1) としておけば、日数計算等にも使いやすいのではないでしょうか〜
それですよ!それ。>(かなれっと)さん
(曜日データをどこで使うか分かりませんが、カレンダーに合わせて表示するとして) A1=IF(DAY(A2)=1,TEXT(A2,"m/d"),A2) A2=最初の日付を入力 B2=$A2+COLUMN(A2) として1行目の書式設定をd 2行目の書式設定をaaa 計算に使うのは2行目・・・・ですね。
(HANA)
簡単な説明しかできないので、詳細説明はヘルプにお任せ〜という意味でした^^; ヘルプでわかりませんか?というように聞こえて(読めて)しまっていたならごめんなさい。 お詫びになるかは?ですが、私がヘルプを読むときは、バージョンにもよりますが、 関連項目 や 参照 といった部分をクリックすると、関連する関数の一覧が出てきますので、 そちらも合わせて読むようにしています。参考になれば幸いです。 (かなれっと) ☆また誤解されそうな表現だったかもしれません(汗) ヘルプ使いにくいですよね〜 と賛同、かつ対策として上記のようにしてまする〜ということで。。。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.