エクセルで採番できる関数

このQ&Aのポイント
  • エクセルで自動採番できる関数式を教えてください。
  • B列に日付が入ると、A列に自動採番される方法を教えてください。
  • 採番の値は「年月6桁」+「-(ハイフン)」+「2桁の番号」の形式で表示されます。
回答を見る
  • ベストアンサー

エクセルで採番できる関数

エクセルで自動採番できる関数式がうまくできずに困っています。 考えている採番の流れは以下のとおりです。 1.B列に日付が入ると、A列に自動採番される 2.採番の値は「年月6桁」+「-(ハイフン)」+「2桁の番号」(例:201407-01) 3.「2桁の番号」は、登録の順番ごとにカウントする(例:01,02,・・・10,11・・・) 4.「2桁の番号」は、次の月に変わると1からカウントし直す(例:201407-18、201408-01) いろいろ組み合わせて下記のようなものを作ってみたのですが、うまくできません。 A2=IF(B2="","",CONCATENATE(YEAR(B2),TEXT(MONTH(B2),"00")&"-"&TEXT(IFERROR(IF(MONTH(B1)=MONTH(B2),MOD(A1,10)+1,1),1),"00"))) うまく採番できる関数式を教えて下さい。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8525/19379)
回答No.2

A2に =IF(ISBLANK(OFFSET(A2,0,1)),"",TEXT(OFFSET(A2,0,1),"YYYYMM") & IF(TEXT(OFFSET(A2,0,1),"YYYYMM")<>TEXT(OFFSET(A2,-1,1),"YYYYMM"),"-01",TEXT(VALUE(RIGHT(OFFSET(A2,-1,0),2))+1,"-00"))) と入力して下にコピー。

kagakulove
質問者

お礼

この関数式は長いのですが、不思議とエラーが出なかったのは良いですね! ありがとうございます!

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

ご使用のエクセルのバージョンが明記されていないので、すべてのバージョンに対応できる数式を提示すると、以下のような関数をB2セルに入力します。 =TEXT(B2,"yyyymm-")&TEXT(SUMPRODUCT((MONTH($B$2:B2)=MONTH(B2))*1),"00") #Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

kagakulove
質問者

お礼

肝心な情報が抜けていました・・・すいません・・・。 Excelは2013を使用していますが、Exce2010に対応していれば大丈夫です。 SUMPRODUCT・・・知らない関数が・・・ちょっと勉強してきます!

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

A2=IF($B2="","",TEXT($B2,"yyyymm")&"-"&TEXT(SUMPRODUCT((TEXT($B$2:$B2,"yyyymm")=TEXT($B2,"yyyymm"))*1),"00")) で下方にコピー

kagakulove
質問者

お礼

おお、ここにもSUMPRODUCT関数が。 確かに採番できました! ありがとうございます!

関連するQ&A

  • Excel関数での採番

    A列 B列 1  1 1  2 2  3 2  4 3  5 3  6 上記B列のように1から6までの行があるのですが2行毎にIndexをつけてA列のような形で採番するよい関数、式等ありますでしょうか? もし良いやり方をご存知でしたらご教授下さい。

  • エクセルで自動採番する方法

    「管理対象区分(カラムA)」、「起票日(カラムB)」を使って、「ID(カラムC)」に自動採番したいのですが、効果的な関数をご教示いただけないでしょうか。 ID採番のロジックは以下の通りです。 (1)(「管理対象区分」の頭文字3桁) + (2)(「起票日」のYYYYMM) + (3)(「起票日」が同月内であれば同月の通し番号、翌月であれば「001」から振り直し) <特記事項> A. (2)について、MMが一桁の場合でも、2桁表示したい(例:1月⇒01) B. (3)について、常に3桁で表示したい ご回答いただけると幸いです。 よろしくお願いいたします。

  • エクセル関数について

    A列とB列に氏名を入れてA列にあってB列にないものを取り出す為に=IFERROR(INDEX($A$2:$A$8,SMALL(IF(ISNA(MATCH($A$2:$A$8,$B$2:$B$8,0)),ROW($A$2:$A$8)-1),ROW()-1),1),"")の関数をⅮ列に入れ下にオオートフィルしたのですが、思うように表示されません。  関数が間違っているのか判りません。 何か良い方法はあれば教えてください。

  • エクセルの関数で自動採番する方法を教えてください

    【エクセルのデータ例】 A B C 1 1 あああ 2 2 いいい 1 3 あああ 3 4 ううう 4 5 えええ 4 6 えええ 5 7 おおお 上記のようにデータが入っていた時、A列に「重複しているものには同じ番号を自動で入力する」という関数を入れたいのですがどのようにすればよいでしょうか? マクロの場合はほとんど知識が無いので、詳しく教えていただきたいです。 よろしくお願いします。

  • エクセルの関数かマクロでの採番について

    以下の様な表があります。 A       B 201201-001 2012/01/01 201201-002 2012/01/03 201201-003 2012/01/05 201201-004 2012/01/05 201201-005 2012/01/08 201201-006 2012/01/09    ・      ・    ・      ・    ・      ・ ・A列に入力する項番はB列の日時のYYYYMM-[(1)] ・B列に入力する日付は不定日時 質問事項 [1]B列に日時が入力されたらA列に自動採番する。 [2]毎月20日になったら、A列の上記(1)を001に戻す。 [3]月が変わったらA列のMMをB列の入力月と連動させる。 こんな感じにしたいです。 A        B 201201-001 2012/01/01 201201-002 2012/01/03 201201-003 2012/01/05 201202-004 2012/02/03 ←○ 201202-005 2012/02/15 201202-006 2012/02/18 201202-001 2012/02/21 ←○ 201202-002 2012/02/29 201203-003 2012/03/01 ←○ 201203-004 2012/03/10 よろしくお願いします。

  • excel関数についての質問です。

    A列に1000未満の様々な数字がはいっており、 現在関数を使って2段階で下記のように加工しているのですが それを1つにまとめたいと思い試行錯誤しておりますが、うまくいきません。 【例】281.25→282 、 28.125→28.2 、 2.8125→2.82  、 0.28125→0.29    15→15.0  、 1.5→1.50  、      ※3桁表示にしたい(○○○、○○.○、○.○○)     ※上記いずれも四捨五入でなく繰上げたい。    現在のところ B列には【繰上げの関数】 =IF(LEN(TRUNC(A1))>2,ROUNDUP(A1,0),IF(LEN(TRUNC(A1))>1,ROUNDUP(A1,1),ROUNDUP(A1,2))) C列には【桁数をそろえる為の関数(たとえば0.5を0.50とするため)】 =IF(LEN(TRUNC(B1))>2,TEXT(B1,"#0"),IF(LEN(TRUNC(B1))>1,TEXT(B1,"0.0"),TEXT(B1,"0.00"))) B列とC列の関数を合体して1つにまとめたいのですが、うまくいきません。 どなたかご教授いただけないでしょうか? ちなみにそれぞれの関数は私が作ったものではありませんが、 それぞれの関数自体は何とか理解できます。よろしくお願いします。

  • Excelの関数で

    エクセルでこんなことをしたいのですが、使える関数はあるでしょうか? A列に日付が、B列に質問のYesとNoが0と1で入ってます。 ○月×日にYesと答えた人は何人いるかをカウントしたい。 IF文で片付けようとしたら論理式にandは使えないようなのですが、Helpでどうやって探したらいいかもよくわからないので・・・ よろしくお願いいたします。

  • 自動採番

    エクセルで申請があったものに対して、フォーマットのある 箇所に採番をしなければいけませんが、毎回打ち込むのは 大変です。 「○○○-070724○」「三桁の数字-yymmdd○(連番)」 (最初の三桁の数字のものに対して連番/ex”123″のものが 070724に3件発生した時に123-0707241→123-0707242→ 123-0707243となるように採番したいですが、いい方法は ないものでしょうか?○○○の部分はジャンルで、多数 存在します。 せめて「○○○-yymmdd○」の「-yymmdd○」の部分だけ でも出るようになれば楽になります。CONCATENATE関数で 「CONCATENATE("-",TODAY(),・・・」で出来ないものかと 試していますが、TODAY関数5桁数字が出てきてしまいます。 自動採番のやり方もわかりません。 自動採番出来るスタンプみたいな事はエクセルで出来ませんか? わかる方がいらっしゃいましたら、教えてください。 よろしくお願いします。   

  • エクセル 関数式の応用

    こんにちは エクセル2010を使っています。 画像の様なデータがあって、次のような式を教えてもらいました。 =IFERROR(INDEX($B$1:$B$7,SMALL(IF($A$1:$A$7=C$1,ROW($A$1:$A$7)),ROW(A1))),"") 画像では A列 B列の データが7行目までなのですが、これを3万行まで広げようと次のような式に変更してみましたが上手く行きません。(空白が返される) =IFERROR(INDEX($B$1:$B$30000,SMALL(IF($A$1:$A$30000=C$1,ROW($A$1:$A$30000)),ROW(A1))),"") 詳しい方、教えていただけませんか? よろしくお願いします。

  • エクセル関数 月を数える

    エクセルでA列に開始日、B列に終了日があります(yyyy.mm.dd) 月をまたいだら月数をカウントできる関数を教えてください MONTHなど使ってみましたがうまくできません 例えばA列に2000/12/31、B列に2000/1/1でも2ヶ月としたいです よろしくおねがいします

専門家に質問してみよう