自動で入れ替わる連番を振る基本と応用例と行を追加・削除するコツ
使用関数:ROW、TEXT
行を追加・削除しても自動で通し番号が振り直されるようにします。名簿や住所録にフィルコピーで連番を振るのは簡単だけど、データを1行追加すると番号が1段ずれてしまう。あらかじめROW関数を使って連番を振っておけば、行を追加・削除・並べ替えをしても、その度、自動で番号が振り直されます。
ROW関数で通し番号を振る
ROW(ロウ)は「行」のこと。行番号を求める関数ってことで、分かりやすいですね。
名簿の通し番号を入れる列の最初のセル(下図の例ではA2)を選択して、「数式」タブ「関数ライブラリ」の「検索/行列▼」のリストを下へスクロールして「ROW」をクリックします。
「関数の引数」ダイアログボックスが開きます。
「数式の結果」が「2」になっていますね。A2セルを選択してその行番号を求めたので当然「2」行目ですよってことです。…で、ここはこのままEnterを押します。
数式バーに「=ROW()」という式が入っているので、この末尾をクリックして、
「-1」と入力します。当該セルが「2行目」なので、その行番号から1を引いた値「2-1=1」を求めたわけです。
Enterを押せば「1」という番号が入り、下へフィルコピーすれば連番が振られます。
シートの冒頭に表題などを入れていて、通し番号を振る最初のセルが3行目だったら、数式末尾に入力するのは「-2」、6行目だったら「-5」になるわけです。
※この表記を「001」にしたいなら当該セルを右クリック「セルの書式設定」⇨「表示形式」⇨「ユーザ定義」で「000」と指定。
コード番号などへの応用:例「1001~」「A組-1~」
前章の数式はいろいろ応用も利きます。
例えば、「1001」から通し番号を振りたいなら、数式バーの「=」の後に「1000+」と入れるか、式の末尾に「+1000」と入れます。前章の例なら「=1000+ROW()-1」または「=ROW()-1+1000」。求めた行番号に1000を足すだけですね。
「A組-1」のように文字列を加えたコード番号を表示させたいなら、数式バーの「=」の後にダブルクォーテーション「""」で括った文字列を挿入し、「&」で繋げます。
この例だと「="A組-"&ROW()-1」となります。
TEXT関数を使った応用:例「A組-001~」
「A組-1」は簡単でしたが、これを「A組-001」にしたい時はTEXT関数の力を借ります。
「数式」タブ「関数ライブラリ」の「文字列操作▼」のリストを下へスクロールして「TEXT」をクリック。
引数は2箇所。
上の「値」には通し番号を求めるROW関数の式をそのまま入れます。下の「表示形式」には表示させたい文字列をダブルクォーテーション「""」で括って入れます。
数式は「=TEXT(ROW()-1,"A組-000")」になります。
計算式を保持して行を追加するちょっとしたコツ
一覧表に行データを追加するにはデータ範囲をテーブルに変換しておくのがベストです。行の書式も計算式も自動で複製してくれますから。
ただ、すでに完成された表(データ、計算式が入力済み)をテーブル化すると、数式がコピーされないなどの不具合が生じるため、テーブル機能を使わずに作業する場面もあるかと思います。
追加する行位置のひとつ下の行を選択して右クリック、メニューの「挿入」をクリックして行を追加すると、他のデータの通し番号は適正に入れ替わってくれますが、追加行は全てまっさら。連番の計算式も継承されません。
ここでガッカリせず、すかさず「Controlキー」と「D」を同時押し。すると、
すぐ一つ上の行データが入力値、書式、計算式込みでコピーされます。連番は適正に入れ替わっていますね。後は各項目を手動で入力し直し。
ちょこっとしたコツですが、覚えておくとけっこう便利。作業の効率化にも貢献してくれますよ。