• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelについて質問です。 )

Excel会費管理の疑問

nayuta_lotの回答

  • ベストアンサー
回答No.4

こんにちは F4のセルに下記の数式を入力してF5にコピーしてみてください。 =IF(A4="","",IF(COUNT($B4:$E4)<MATCH(DATEVALUE(YEAR(TODAY())&"/3/31"),$B$3:$E$3,0)-1,"期限切れ","継続中")) 前提条件 1.前年度まで会費を納入していれば、前年度の納入期限を過ぎていても継続とみなす。 2.前年度に会費が納入されていなければ、期限切れとする。 3.納入日は常に連続している。 という勝手な解釈で作成してみました。 <解説> =IF(A4="","",継続中、期限切れの判断) A4に人の名前が入っていなければ空白表示、でなければ判断します。 継続中、期限切れの判断 IF(COUNT($B4:$E4)<MATCH(DATEVALUE(YEAR(TODAY())&"/3/31"),$B$3:$E$3,0)-1,"期限切れ","継続中") 今年が何年目(何列目)かを取得して、納入回数がその年数-1(前年まで年数)よりも小さければ、前年度に納入 していないことがわかります。 従って、まず納入回数をCOUNT($B4:$E4)で取得します。 次に、何年目であるかを取得します。 MATCH(DATEVALUE(YEAR(TODAY())&"/3/31"),$B$3:$E$3,0)-1 B列の納入期限を検索範囲、今年の年+"3/31"を検索値として その列の位置が何列目なのかを取得します。 DATEVALUEは、この文字列形の日付をシリアル値に変換しています。 こうしないと、文字とシリアル値の比較になって検索できないからです。 前年度のまで入力されていれば継続中としますので、前々年度が空白か否かで継続中か期限切れを判断します。 従って、前年度までの年数と比較するために最後に-1を入れています。 これで、納入回数 < 前年度までの年数ならば、"期限切れ" そうでないならば、"継続中"と判断することができます。 ただし、この方法は納入期限の月日があくまでも3/31の場合なので 変更する場合は注意してください。 できれば、納入期限の上の行辺りに隠しセルを用意してそこを年度だけを用意して、キーにするのをお勧めします。 あまり説明がよくないかもしれませんが^^; 意図しない結果だったらご容赦ください。 以上、ご参考まで

kiseki0327
質問者

お礼

ありがとうございます!! 参考になりました!! 無事解決できました。

関連するQ&A

  • EXCEL(VBA)について質問です。

    EXCEL(VBA)について質問です。 S7列に入った数字をS6列(TODAY関数) の日付に対してのT6~の日付にコマンドボタンを押すと反映する方法を行いたいです。 また各日にちに反映した数字は保存しておくようにしたいです。 以上 よろしくお願い致します。

  • excelの関数かマクロで連番、日付を付けたい

    こんばんわ、EXCELマクロ入門者です。 excelの関数かマクロ、VBAで日付や、連番を付けたいです。 できれば関数でできたらなぁと思います。マクロ、VBAはほとんど初めてです。 (1)まず、B2に商品名を入れます。 (2)すると、A2に連番、C2に今日の日付(システム日付)、 D2に商品名と今日の日付、商品ごとの連番が自動的に振っていく感じにしたいです。毎日たくさん入力するらしいのでマクロとかVBAとか関数で作ってくれと頼まれました。 A列は例えばA3に=if(B3="","",A2+1)を入れて何とかできたのですが、 C列の日付(today関数やnow関数ではファイルを開き直すと日付が変わってしまう)とD列の商品名-日付-商品ごとの連番で特に困っています。 イメージとしては下のような感じです。   A   B    C     D 1 連番 商品名 日付    商品名-日付-商品ごとの連番 2 1   ○○○ 2007/8/10  ○○○-2007/8/10-1 3 2   ××× 2007/8/12  ×××-2007/8/12-1 4 3   △△△ 2007/8/13  △△△-2007/8/13-1 5 4   ○○○ 2007/8/15  ○○○-2007/8/15-2 6 5   ○○○ 2007/8/16  ○○○-2007/8/16-3 どなたか、ご教授ください。 どうぞ、宜しくお願い致します。

  • Excelや、ややこしい関数について教えて下さい。

    Excelや関数にお詳しい方、教えて下さい。 製造日から賞味期限までの期間の3分の1の時点や3分の2の時点、2分の1の時点を割り出す関数を教えて下さい。 (例) (1)製造日:2011年4月15日で、 賞味期限は9ヶ月、なので来年の 1/15となる。 この場合で、3分の1の時点の月日を出すには、どのような関数を作ればいいのでしょうか? (2)上記の日にちで、3分の2の時と、2分の1の時は、どこを直せばいいでしょうか? 例えば、ExcelのA列に、製造年月日の日にちを入れて、B列に賞味期限の日数、9ヵ月とか12ヶ月と入力すると、C列には、1/3の日にちが出て、D列には1/2の日にちが出るような表を作りたいと思っています。 説明が下手ですみません。意味が不明など質問して下さい。 関数やExcel、納入期限設定などにお詳しい方、どうぞよろしくお願い致します。

  • エクセルのマクロを教えてください。(初心者です)その2

    エクセルで期間限定で使えるソフトを作ろうと思っています。 簡単に申し上げると、 使用期限を設けて、期限の日がくると、 エクセルのセルに 「有効期限が来ましたので、再度お申し込みください。」 という文章が表示され(ポップアップでなくていいです)、 このシート以外は片っ端からシートが削除され、 上書き保存され、これ以上使えないというものを作りたいのです。 ツールバーのマクロの記録を利用した 極度に簡単なマクロしかやったことがないので、 以下の点を中心にマクロの作成の仕方を お教え頂けますと幸甚です。 (1)有効期限の日付を入力しておいて、その日が来るとマクロが実行される方法 TODAY関数と有効期限の引き算でゼロになったら実行でしょうか。 該当セルの数値がゼロになったらマクロが実行されるという方法を お教え頂けませんか。 ちなみに、有効期限の日付は、非表示にしてシートの保護で開けないようにしておこうと思います。 (2)有効期限が来たら自動的にマクロが実行される方法 上記(1)の方法でやれば、ファイルを開いたとたんマクロが実行されるのでしょうか。 (3)マクロでシートを削除する方法 これは、通常のマクロの記録でやろうとすると、 シートを削除すると「やり直し」でもシートを復活させられないので、 シートがなくなっちゃった状態でしか保存できない気がするのですが・・・。 (4)上書き保存するマクロ 上記(3)と同様、マクロの記録では できないので、これ以外のやり方をお教え頂けませんか。 (5)シートを表示させるマクロ マクロを実行した時点で「有効期限が来ました・・」と入力された シートを表示させたいのです。 マクロで表示させる方法をお教え頂けますでしょうか。 (6)マクロを見れないようにする方法 マクロを自由自在に操れる人が 私の作ろうとするエクセルファイルを手にしたら、 「有効期限になる前にマクロを削除しちゃえ」と やられないかが心配です。 うまい対処方法ございませんでしょうか。 (7)パソコンの日付の操作の対処 上記の(6)と絡むのですが、 パソコンの日付とプロパティーから パソコンの日付をいじって 有効期限より前の日付にしたら ずっと使われてしまうのではないか心配です。 うまい対処方法ございませんでしょうか。 ずぶの素人の私にどなたか この方法をご教示頂けませんでしょうか。

  • エクセルのマクロについて

    エクセルのマクロを使って日付を入力したいのですが、上手く行きません。 何か良い方法があったら教えてください。 やりたいことは、あらかじめ選択されているセルに、今日(作業当日)の日付を入力することです。 これまで試したのは、 〔ctrl〕+;→マクロ作成日の日付を入力するようになってしまうので駄目 today関数→翌日になると、日付も翌日のものになってしまうので駄目 よろしくお願いいたします。

  • 使用期限付のエクセルの作成方法

    使用期限付のエクセルが仕事で送られてきました。 計算式が入っているのでマクロを有効にするにしますが、 すると”使用期限切れ!どうしても見たいときはパソコンの日付を戻してください”とメッセージがでます。 (メッセージ通り日付を戻すと見れるようになります。) マクロまたはVBで作成してあると思うのですが、 どちらもまったくわからないので、作成方法を教えていただきたいのですが。 よろしくおねがいします。 ちなみにエクセルは97です。

  • エクセルのあるページに履歴を自動表示させたい。

    エクセルで関数、VBAを利用して、データ加工などをしています。素人でえすが、関数 数年、VBA 数年、の経験があります。 今回、事情があって、あるデータを逐次入力する必要が生じました。できれば、エクセルを開いた時に、日時・時間を自動表示させたいのですが。 もちろん、=NOW()と、=TODAY()の関数で、セルに自動表示はできますが、・・。 目的は、履歴です。 具体的には、新しいエクセルのシートのA1に(NOW関数で?)日付・時間を表示させて、閉じます。その次このファイルを開くと、A1には、前回の日付。時刻が表示され、A2に今回開いたときの日付・時刻が表示されます。 以下、これを繰り返すと、A列には、ファイルを開いた日時の履歴が表示されます。関数・VBA等を使って、このような処理が可能でしょうか。教えて下さい。 よろしくお願いします。

  • EXCELで質問です。

    EXCELで質問です。 セルB1に値があると、セルA1に今日の日付(2010/5/5みたいに、、、。)を、表示させるようにしたいのですが、どなたか教えていただいてもよろしでしょうか?? 現在【CTRL】 + 【;】 で入力しているのですが、どうしても関数などで自動表示にしたいです。 TODAY関数を用いたりなどして、うまくできませんでしょうか? 検索サイトで、2時間程調べてみましたが、意外と情報がありませんでした。。。 申し訳ございませんが、どなたかご教授お願いいたします。m(_ _)m

  • エクセル 日付に数字を足して表示させる

    エクセルで分らない所があるので質問させてください。 エクセルの関数のTODAYで日付を表示させます。 例えば07/11/08だったとして、年に50 月に12 日に0を足し、572308と表示させていのですが何か良い方法はないでしょうか? お願いいたします。

  • エクセル 日付が変わると同時にセルを空にしたいです

    こんな事が出来るのかも分からないのですが… エクセルでB4にTODAYで日付が表示されるようにしています。 その日付が変わるとB5~B32のセル内を空にしたいのですが可能なのでしょうか? マクロなどは使った事がなく全くわかりません…。 関数などでそういった設定は出来るのでしょうか? 出来れば本日中にお答えいただければ幸いです! 分かりにくい文面で申し訳ありませんが、よろしくお願いいたします!!