- ベストアンサー
エクセルの関数かマクロでの採番方法とは?
- エクセルの関数またはマクロを使用して、指定の条件に基づいて項目を自動採番する方法について説明します。
- 採番する際には、日時のフォーマットや月の変わり目でのリセットなどの条件を設定することができます。
- 具体的な質問事項として、日時が入力されたら自動的に項番を採番する方法や、毎月20日になったら項番をリセットする方法、月の変わり目での項番の変更方法などが挙げられます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
B列の2行目から下方にお示しの日付のデータが有るとします。 A2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(B2="","",TEXT(B2,"YYYYMM")&"-"&TEXT(IF(ROW(A1)=1,1,IF(AND(DAY(B2)>=20,DAY(B1)<20),1,RIGHT(A1,3)+1)),"000"))
その他の回答 (2)
- mt2008
- ベストアンサー率52% (885/1701)
ANo.2です。 > B列に日付を入力することで、A列には質問内容の条件付きでユニークの連番を付与する処理を探しています。 どのような項番にするかは業務内容や、他の影響もあるでしょうから「そちらでちゃんと決めてください」としか言いようがありませんが、19日までは前月の月を使う訳にはいかないのでしょうか。 それが一番しっくりくるように思えます。 A B 201201-001 2012/01/01 201201-002 2012/01/03 201201-003 2012/01/05 201201-004 2012/02/03 201201-005 2012/02/15 201201-006 2012/02/18 201202-001 2012/02/21 201202-002 2012/02/29 201202-003 2012/03/01 201202-004 2012/03/10 そうでなければ、1~19日までは項番の最後に「A」、20日~月末までは「B」を付ける等でしょうか。
お礼
?
- mt2008
- ベストアンサー率52% (885/1701)
質問文の条件通りですと、 B列に2012/1/20~2012/1/31の日付がない状態で、2012/2/1と2012/2/20がある場合、どちらもA列の番号は201202-001になってしまいますがそれで良いのでしょうか?
お礼
?
補足
言葉足らずですみません。 B列に日付を入力することで、A列には質問内容の条件付きでユニークの連番を付与する処理を探しています。 実際には発注のあった日付をB列に入力すると正確に自動採番する処理を探しています。 採番条件にある処理を入れる事で、人為的な採番ミスを防ぐのが目的です。
お礼
ありがとうございました!試してみます。