No.1
- 回答日時:
ifについては使えると仮定しまして、
式の中で、
月末日を取得してその結果と日付がイコールであれば月末と判定し、ある言葉を表示する
という流れになるかと思います。
同じ式の中で作ると難しいようであれば、作業用列をひとつ作って、
そこに月末日を表示して、日付セルと比較すればわかりやすいかと思います。
No.2
- 回答日時:
月末日は年と月によって変わる。
その年と月はどうするのか質問に書かないと。A1セルに年月日が入っているとして、そのセルの値は日付シリアル値(注)として、その部分はA1セルの年と月を使うなら
B1セルに=IF(A1=DATE(YEAR(A1),MONTH(A1)+1,0),"月末","")
と入れて下方向に式を複写する。
これもエクセル関数の本を勉強すれば、本に書いてある手法ですよ。
例
A列 B列
2011/8/1
2011/8/30
2011/8/31月末
2011/9/30月末
(注)エクセルの日付シリアル値について知らないのでないかとおもう。Googleででも、「日付シリアル値」で照会し勉強のこと。非常に大切なことです。
もしA列に文字列日付ででも入っていると、簡単にはいかないし、実例の説明でもないと回答できない。
ありがとうございます。
No.4、No.5、No.6などの方法が、あらゆる年のどの月末にもユニバーサルに使えて便利ですので、それらを使わせて頂くことにしました。
No.3ベストアンサー
- 回答日時:
A1に日付があるとして、月末日なら"月末"と表示、それ以外は日にちを表示として
=IF(A1=DATE(YEAR(A1),MONTH(A1)+1,0),"月末",DAY(A1))
「ツール」「アドイン」で「分析ツール」にチェックが必要ですが、こんな方法も
=IF(A1=EOMONTH(A1,0),"月末",DAY(A1))
http://www.relief.jp/itnote/archives/000491.php
ありがとうございます。
いろいろ方法があるのですね。
最初にNo.4さんの方法(貴法の2つ目と同じですね)に気づき、それを使わせて頂いたので、お礼を言うのが遅くなりました。申し訳ありません。
No.4
- 回答日時:
こんばんは!
日付がはいるセルに「ある言葉」を表示することはできませんので、
↓の画像のようにA2セルに日付を入力した場合、月末なら「月末」と表示させる方法です。
B2セルに
=IF(A2=EOMONTH(A2,0),"月末","")
(エラー処理はしていません)
という数式を入れています。
これでA2セルの日付を色々入れてみてください。
月末の場合だけB2セルに「月末」と表示されます。
尚、当方使用のExcel2003以前のバージョンでは
EOMONTH関数を使用するにあたって
メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。
参考になれば良いのですが・・・m(_ _)m
No.7
- 回答日時:
VBAで出来ますよ。
A1に2010/12/31がある場合
セルをクリックしてダブルクリックして、=月末判定(A1)とするか=月末判定("2010/12/31")
として下さい。月末判定できます。フォーマットをもっと詳しく教えてくれたら、もっとダイレクトにできます。
以下のコードをVBE(alt F11 で表示されます。)に貼り付けてください。
Function 月末判定(hiduke As Date) As String
Dim lastdays As Variant '月末格納
Dim toshi As Long '年格納
Dim tuki As Long '月格納
Dim niti As Long '日格納
lastdays = Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
toshi = year(hiduke)
tuki = month(hiduke)
niti = day(hiduke)
If (toshi < 1) And (niti < 1) And (niti > 31) And (tuki < 1) And (tuki > 12) Then
MsgBox "値が間違ってます。", vbCritical
Else
'-----------------------------------------------------------------
'↓↓↓↓↓↓うるう年の時配列を、うるう年用に変える。↓↓↓↓↓↓
If tuki = 2 Then
If (toshi Mod 400 = 0) Or (toshi Mod 4 = 0) And (toshi Mod 100 = 0) Then
lastdays(2) = 29
End If
End If
'-----------------------------------------------------------------
If niti = lastdays(tuki) Then
月末判定 = hiduke & "は月末です。"
Else
月末判定 = hiduke & "は月末でない。"
End If
End If
End Function
No.8
- 回答日時:
NO7です。
大変申し訳ございません。コード間違えてました。以下の通りです。Function 月末判定(hiduke As Date) As String
Dim lastdays As Variant '月末格納
Dim toshi As Long '年格納
Dim tuki As Long '月格納
Dim niti As Long '日格納
lastdays = Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
toshi = year(hiduke)
tuki = month(hiduke)
niti = day(hiduke)
If (toshi < 1) Or (niti < 1) Or (niti > 31) Or (tuki < 1) Or (tuki > 12) Then
月末判定 = "値が間違ってます。"
Else
'-----------------------------------------------------------------
'↓↓↓↓↓↓うるう年の時配列を、うるう年用に変える。↓↓↓↓↓↓
If tuki = 2 Then
If (toshi Mod 400 = 0) Or (toshi Mod 4 = 0) And (toshi Mod 100 <> 0) Then
lastdays(2) = 29
End If
End If
'-----------------------------------------------------------------
If niti = lastdays(tuki) Then
月末判定 = hiduke & "は月末です。"
Else
月末判定 = hiduke & "は月末でない。"
End If
End If
End Function
ありがとうございます。
いろいろ高度な方法があるのですね。
今回はNo.3~No.6で教えて頂いた通りExcelの関数が使えるとのことですので、そちらで処理することにしました。
懇切丁寧なご指導ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/04/17 09:25
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- Excel(エクセル) エクセルで日付が入っているセルを一定の法則に従って違うセルに表示したい 2 2022/04/04 17:16
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) Excelで2つのセルにある日付を参照させ期間として1つのセルに表示したいです。 例 c9セルに開始 3 2023/04/06 12:16
- Excel(エクセル) Excel ある日の45日後の計算 及び 3か月後の計算 6 2022/04/05 13:44
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルで月末、月初の判定をしたい。
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
-
4
EXCELで○ヶ月を○年○ヶ月に変換したい。
Excel(エクセル)
-
5
28日~31日が必要ない所を空白表示にする方法
Excel(エクセル)
-
6
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
7
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
8
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
9
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
10
【エクセル】関数で「A1が0でないならB1を表示」の式
その他(コンピューター・テクノロジー)
-
11
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
12
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
13
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
14
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
15
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
16
Excelの入力規則で2列表示したい
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセルでエラーが出て困っています。
Excel(エクセル)
-
19
EXCELで 一桁の数値を二桁に
Excel(エクセル)
-
20
excel 参照しているセルに色がついていたら、返すセルにも色もつける
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
31:30:00が1900/1/1 7:30:0
-
日付だけを変更して印刷(Excel)
-
入力後に日付順になるように自...
-
エクセルでENTERを押すと数式が...
-
ファイルのオープン時に今日の...
-
Excelで半年後の日付を計算したい
-
エクセル関数で日付かどうかの...
-
エクセルで数字列の間に『/』を...
-
Excelで8/26等の日付を全てその...
-
エクセル 当番表の作り方 エク...
-
Excelに入力した個々の日付の数...
-
◆ EXCEL自動入力日付を自動で...
-
VBAでセルに入っている日付をシ...
-
Excelで、年だけの「西暦」から...
-
エクセルのセルにカレンダーを...
-
エクセルで月日を入力すると190...
-
日付を入力したセルをファイル...
-
ワード差込について
-
エクセルにで、Criteria(条件表...
-
EXCELで直近の日付を抽出する関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
31:30:00が1900/1/1 7:30:0
-
日付だけを変更して印刷(Excel)
-
入力後に日付順になるように自...
-
Excelで半年後の日付を計算したい
-
エクセルでENTERを押すと数式が...
-
エクセルで数字列の間に『/』を...
-
エクセルのセルにカレンダーを...
-
エクセル 当番表の作り方 エク...
-
エクセル関数で日付かどうかの...
-
Excelで、年だけの「西暦」から...
-
ファイルのオープン時に今日の...
-
Excelで8/26等の日付を全てその...
-
日付入力→指定のセルの色を塗り...
-
エクセルで日付入力欄を作成し...
-
☆Excelエクセルで入力した日の...
-
EXCELで直近の日付を抽出する関数
-
日付を入力したセルをファイル...
-
◆ EXCEL自動入力日付を自動で...
-
ワード差込について
-
WORDで翌日や翌々日の日付を表...
おすすめ情報