【最大10000ポイント】当たる!!質問投稿キャンペーン!

3ヶ月ごとに更新する契約書を作成しています。
ある日付からちょうど3ヶ月後の一日前が出るような関数を探しています。

例えば、
セルに今日の日付「9月6日」と入れると、そのとなりのセルには契約の切れる「12月5日」が出るようにしたいのですが、うまい具合に出来ません。

GOOの賢人様方、お知恵をお貸しください!

このQ&Aに関連する最新のQ&A

A 回答 (6件)

アドインで分析ツールが組み込まれている場合は



=EDATE(A1,3)-1

そうでない場合は

=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1))-1

ただし、11月30日をA1に入力した場合、答えが3月1日になってしまうようです。
(うるう年であれば2月29日となりOK)
    • good
    • 0

=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1))



http://support.microsoft.com/default.aspx?scid=k …

edateを使用する方法
http://office.microsoft.com/ja-jp/assistance/HP0 …
=EDATE(A2,3)
分析ツール アドインを組み込む必要があります。

[ツール] メニューの [アドイン] をクリックします。
[アドイン] の一覧の [分析ツール] チェック ボックスをオンにし、[OK] をクリックします。
必要に応じて、セットアップ プログラムで表示される手順に従って操作します。

マクロで実行する(dateadd関数)
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
DateAdd("m", 3, A1)
    • good
    • 0

今日の日付のセル=A1


となりのセル =B1 とすると、
B1に、=EDATE(A1,2)-1 と入力します。

・EDATE関数の一般式は =EDATE(日付,月数)です。日付から月数後の日付を求めます。
・分析ツールがアドインで組み込まれていないと「エラー」になりますので、ご注意下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。助かりました。

お礼日時:2005/09/06 12:46

=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1)



でどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。出来ました!!

お礼日時:2005/09/06 12:46

これでどうでしょう?



=EDATE(A1,3)-1

例えばA1に日付を入力し、となりのセルに上記数式を書いてください。
数式のセルは、セルの書式設定で表示形式を日付にしてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。助かりました。

お礼日時:2005/09/06 12:45

はじめまして


=EDATE(開始日,月数)が使えると思います。
開始日は参照入力で-1にします
=EDATE(開始日,月数)-1にします。
このままだとセル表示が標準になっている場合
シリアル値で帰ってきますのでセルの書式設定で日付に変更してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。助かりました。

お礼日時:2005/09/06 12:44

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel:セルに入力されている日付の、半年後の日付を自動表示させたい

誰か教えてください。
A列のセルに「2004/3/4」という日付が入っていたとします。
A列の日付を参照して、B列に「半年後」、C列に「16ヶ月後」という日付を自動表示させたいのですが、そういう事って出来ますか?
出来るとしたらどんな関数を書けばいいのでしょう?
教えてください!

Aベストアンサー

こんにちは。maruru01です。

基本形(半年後)は、

=DATE(YEAR(A1),MONTH(A1)+6,DAY(A1))

です。
(16ヶ月後は、数式中の6→16にする)
ただし、月末の場合は問題があります。
例えばA1に、「2004/8/31」と入力すると、半年後は、「2005/3/3」になります。
これを、「2005/2/28」にするなら、数式を、

=MIN(DATE(YEAR(A1),MONTH(A1)+6,DAY(A1)),DATE(YEAR(A1),MONTH(A1)+6+1,))

とします。
また、分析ツールが利用出来るのなら、

=EDATE(A1,6)

としても、「2005/2/28」という日付が求まります。
なお、分析ツールは、メニューの[ツール]→[アドイン]→[分析ツール]にチェックをすると利用可になります。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで6ヵ月後を自動入力できますか?

エクセルで指定した日付からちょど6ヵ月後の日付を
自動入力することはできますでしょうか?

例)
「A1」に「2009/1/7」と入力し「B1」に「2009/7/6」と
自動入力できるようにしたい。

ちなみに用途は定期の購入時期を整理したいためです。
宜しくお願い致します。

Aベストアンサー

=DATE(YEAR(A1),MONTH(A1)+6,DAY(A1))-1

QVLOOKUP関数で空白を選択すると「0」と表示されるのですが

VLOOKUP関数で他シートのアドレス帳から住所名前等を引き出し、別シートで宛名ラベルを作っています。
この時、何も記入されていないシートをVLOOKUPで読み込んだ場合に、宛名に「0」が表示されてしまうのですが、これを表示させない方法はどうしたらよいのでしょうか?

また以前は「0」では無く、「N#A(記憶が曖昧ですが)」のような表示がされていたんですが、どうして変ったんでしょううか?

よろしくお願いします。

Aベストアンサー

検索値が見つからない場合は #N/A エラーになります。
検索値が見つかったが、参照する列が空白の場合は 0 になります。

ISERROR や ISNA 等を使ってエラーの場合は空白にすれば、#N/A は表示されなくなります。
例)=IF(ISERROR(VLOOKUP($A2,検索範囲,2,0)),"",VLOOKUP($A2,検索範囲,2,0))

この状態で ツール-オプション-表示タブの「ゼロ値」を外せば #N/A も 0 も見えなくなります。
ただし、検索結果以外の 0 も見えなくなりますのでそれがまずいようなら、

=IF(ISERROR(VLOOKUP($A1,検索範囲,2,0)),"",IF(VLOOKUP($A1,検索範囲,2,0)=0,"",VLOOKUP($A1,検索範囲,2,0)))

のような感じにすると#N/A も 0 も見えなくなります。

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

QEXCELで免許証有効期限2ヶ月前に警告する関数!

免許証の更新間近を警告する表を作成しています。

本日の日付 H18.2.16
免許証有効期限 H18.5.3

上記のような場合、有効期限の2ヶ月前に"期限間近"とセルに表示させたいのですが、よい関数はありますでしょうか?
おわかりの方教えてくださーい!

Aベストアンサー

now関数で可能です。

a1=now() ---当日の日付表示
a2以降に免許証の日付入力する b2に下記関数を入れる
 =if(a2>now()+60,"","期限間近") 
当日より60日未満のデータに期限間近を表示する。
後は行のコピーで何項目でも可能です。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

QEXCEL IF関数での日付の認識について

よろしくお願いいたします。

   A         B
1 2006/07/30    OK
2 2006/8/8     

A列の日付が2006/7/31以前だったらB列にOK表示、
2006/8/1以降であったらB列に空白””というIF関数を使った数式をお教えください。
MONTH を使ったりしたのですが、年度単位(4月から翌年3月)の対象のため「MONTH(A1)<=7」と指定すると、2007/3/31も対象になってしまいました。

Aベストアンサー

A1に日付が入っているとして、
B1に
=IF(A1<38930,"OK","")
でどうでしょうか。

Excelは日付はシリアル値という数字で管理しています。
1900年1月1日を1として(Windows版)、1日で1増えます。
(余談ですが時刻は小数点以下の数字で管理しています)

2006/8/1は、38930です。(7/31は38929です)(38929.5は、7/31 12:00になります)
これより小さい値(2006/7/31以前)はOK、それより大きい値(2006/8/1以降)は空白になります。

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む


人気Q&Aランキング