見出し画像

スプシ|明細が追加されたら自動で付番したい!【動画あり】

こちらは、スプレッドシート上で自動で連番や集計キーを生成する方法をお伝えします。

01|なぜ自動で連番や集計キーを生成する必要があるのか?

一般に、明細は集計してあれこれ分析するものですが、それに当たって、連番を入れたり集計キーを立てたりすることが基本になると思います。

しかし、これを手動でやっていると

・数字が飛ぶ(1,2,4,5)
・表記ゆれが発生する(半角と全角の混在など)
・空白セルが発生してしまう

といった問題が集計の妨げになります。

また、Googleフォームで活動内容などを入力させてその明細を集計する、といった事は、カイゼン業務では必須なのですが、このとき、明細が追加されたら、それに対して連番や集計キーを自動で立てていないと、集計結果を知りたいときは、都度作業が必要になります。ミスも起きやすいですね。

<Googleフォームでの活動内容収集はこちら>

02|自動で生成する方法【動画】

では、自動生成の方法をお伝えしていきます。

単純なものとして、B列に文字が入っている場合、A列に連番を振る、というやり方をご紹介します。

こちらの数式をA1セルにコピペしてみてください。

=ARRAYFORMULA(ROW(INDIRECT("A1:A"&COUNTA(B:B))))
使っている関数の簡単な解説
ARRAYFORMULA(配列数式):計算結果を指定した範囲に反映させる
ROW(セル):行番号を返す
INDIRECT(文字列):セル範囲を文字列で指定する
COUNTA(セル範囲):セル範囲にある値の個数を返す

03|解説

これだけだと応用がきかないと思いますので、進化の過程をご覧ください。

ちなみに数式はA1セルのみに入力すればOKです。

//A1セルのみに行番号を入れる
=ROW(A1)

これで、行を削除しても番号が勝手に修正されます。

//A1〜A5セルまで連番を入れる
=ARRAYFORMULA(ROW(A1:A5))

これで、A1だけに数式を入れればA5まで勝手に連番が入ります。

//A1〜A5セルを文字列で指定して番号を入れる
=ARRAYFORMULA(ROW(INDIRECT("A1:A5")))
//B列に入っている値の個数から、An番目セルという指定を作る
=ARRAYFORMULA(ROW(INDIRECT("A1:A"&COUNTA(B:B))))

一気にごちゃっとなりますが(笑)、これで、新たに行を追加したとき、勝手に番号を振られるようになります。

おわりに

ROW関数を別の関数に変えれば色々と応用が効くやり方なので、ぜひご使用ください。

この記事が気に入ったらサポートをしてみませんか?