概要
皆さんは表とか作る際、左端にナンバーを振ってナンバリングとかしませんか?
IT業界で働いていると、テスト試験書だったり、QA表だったり、照会表だったり・・・
とにかく色々な所で表を作り、ナンバリングを行います。
上記の様に作った後、行を挿入しないといけない・・・
なんてことありませんが??
私は日常茶飯事です。。。
でも、普通に行挿入しちゃうと、下記の様に前のナンバーが残っていて、再度ナンバリングしないといけなくなり面倒くさいですよね??
そこで、エクセル関数を使うのですが、
=IF(ISNUMBER(A1),A1+1,1)
=ROW()-1
を使うと、
となり、行数で考慮されるため、今までの行が「4」以降に変わり、新企業に改めて「=ROW()-1」を入力すればよいですが、
の様な歯抜けの番号をナンバリングするのには向きません。。。
ナンバリングはこれで決まり!!
歯抜けも考慮したナンバリング
上記のような悩みを一挙に解決してくれるのが、この式です!!
=MAX(OFFSET(INDIRECT(ADDRESS(1,COLUMN())),0,0,ROW()-1,1))+1
セルに数式を貼り付けるだけで、ナンバリングしてくれます!!
もちろん行を削除しても、自動で再度ナンバリングしてくれますので、超便利です!!
歯抜けの場合は「1」に戻したい場合のナンバリング
=N(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0))+1
連続した場合のみナンバリングを引き継ぎますので、歯抜けの場合は「1」からにしたい場合はこちらを使用しましょう!!
枝番を割り振りたい時
よく照会表とかQA表を作っていると、「1-1」とか「2-2」とか枝番管理をしたくなる時がありますよね??
↓↓↓こんな風に↓↓↓
そんな時はこれを使いましょう。
#親番セルの関数
=MAX(OFFSET(INDIRECT(ADDRESS(1,COLUMN())),0,0,ROW()-1,1))+1
#枝番セルの関数
=IF(ISBLANK(INDIRECT(ADDRESS(ROW(),COLUMN()-1))),INDIRECT(ADDRESS(ROW()-1,COLUMN()))+1,IF((INDIRECT(ADDRESS(ROW()-1,COLUMN()-1))<>INDIRECT(ADDRESS(ROW(),COLUMN()-1))),1,IF((INDIRECT(ADDRESS(ROW()-1,COLUMN()-1))=INDIRECT(ADDRESS(ROW(),COLUMN()-1))),INDIRECT(ADDRESS(ROW()-1,COLUMN()))+1,"error")))
※親番の空白や、同じ数値のセルは、セルを空にしたり、リテラルを入力して対応する必要が御座います。
最後に
はい、ということで、今回は連番のナンバリングについて、まとめました。
意外と使用頻度高いと思いますので、良ければ「いいね」やブックマークをお願い致します。
最後になりますが、この記事が皆さんの成長の少しでも手助けになることを祈って、この記事を閉めたいと思います。
最後までお読みいただきありがとうございました。